:root{--cream: #fbf6f2;--paper: #fffdfb;--ink: #4a3840;--ink-soft: #6d5a63;--muted: #97828c;--rose: #c97d8c;--rose-deep: #a95f72;--rose-soft: #f7e7ea;--rose-line: #ecd6db;--sage: #9db894;--sage-soft: #ebf1e7;--aqua: #6fbdb9;--aqua-soft: #e3f4f2;--gold: #e0c191;--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--sans: "Jost", "Segoe UI", system-ui, sans-serif;--shadow-soft: 0 12px 30px rgba(169, 95, 114, .12);--radius: 20px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--serif);color:var(--ink);background:radial-gradient(55rem 38rem at 112% -8%,rgba(143,205,201,.3),transparent 62%),radial-gradient(48rem 36rem at -12% 18%,rgba(230,176,188,.32),transparent 62%),radial-gradient(50rem 42rem at 52% 118%,rgba(196,214,178,.36),transparent 65%),var(--cream);background-attachment:fixed;-webkit-font-smoothing:antialiased}::selection{background:var(--rose-soft);color:var(--ink)}button,a,input,select,textarea{font-family:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--rose-deep);outline-offset:2px}.page{min-height:100vh;max-width:40rem;margin:0 auto;padding:1.75rem 1.35rem 3.5rem;display:flex;flex-direction:column}.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:3.25rem}.brand-btn{display:inline-flex;align-items:center;gap:.55rem;background:none;border:0;padding:0;text-align:left;font-family:var(--serif);font-size:1.12rem;font-weight:500;letter-spacing:.04em}.brand-btn svg{flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text small{font-family:var(--sans);font-size:.62rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep)}.top nav{display:flex;align-items:center;gap:.5rem}.top nav button{font-family:var(--sans);font-size:.78rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;background:#fffdfba6;border:1px solid var(--rose-line);border-radius:999px;padding:.42rem .95rem;color:var(--ink-soft);transition:border-color .2s ease,color .2s ease,background .2s ease}.top nav button:hover{border-color:var(--rose);color:var(--rose-deep);background:var(--paper)}.top nav .quiet{border-color:transparent;background:none;color:var(--muted)}.top nav .quiet:hover{color:var(--rose-deep);background:none;border-color:transparent}h1{font-size:clamp(2.15rem,6vw,2.9rem);font-weight:500;line-height:1.12;letter-spacing:.005em;margin:0 0 1rem}h2{font-size:1.45rem;font-weight:500;margin:1.75rem 0 .6rem}p{margin:0 0 1rem;line-height:1.55;font-size:1.22rem}em,.it{font-style:italic}.eyebrow{font-family:var(--sans);font-size:.76rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);margin:0}.where{font-family:var(--sans);font-size:.92rem;font-weight:300;letter-spacing:.03em;color:var(--muted);margin:0}.hero{text-align:center;padding-top:.35rem;display:flex;flex-direction:column;align-items:center}.hero-id{display:flex;flex-direction:column;align-items:center;margin-bottom:1.75rem}.hero-id h1{margin:0 0 .2rem}.hero-id .subtitle{margin:0 0 .55rem}.hero-id .eyebrow{margin:0}.hero-cta{margin:0 0 2.6rem}.hero-copy{max-width:32rem;display:flex;flex-direction:column;gap:.9rem}.hero-copy .line{margin:0;font-size:1.12rem;line-height:1.62;color:var(--ink-soft)}.subtitle{font-family:var(--serif);font-style:italic;font-size:1.48rem;font-weight:400;letter-spacing:.06em;color:var(--rose-deep)}.badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#2e7a76;background:var(--aqua-soft);border:1px solid rgba(111,189,185,.45);border-radius:999px;padding:.45rem 1.05rem;margin-bottom:1.6rem}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 #6fbdb980;animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 #6fbdb973}70%{box-shadow:0 0 0 8px #6fbdb900}to{box-shadow:0 0 #6fbdb900}}.ornament{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:2.6rem 0 1.4rem;color:var(--rose)}.ornament:before,.ornament:after{content:"";height:1px;width:4.5rem;background:linear-gradient(to right,transparent,var(--rose-line))}.ornament:after{background:linear-gradient(to left,transparent,var(--rose-line))}.about{width:100%;max-width:28rem;margin-top:0;display:flex;flex-direction:column;align-items:center}.about .ornament{margin:2.6rem 0 1.4rem}.about-photo{width:6.5rem;height:6.5rem;border-radius:50%;background:var(--rose-soft);border:1px dashed var(--rose);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.about-title{font-size:1.45rem;margin:0 0 .95rem;text-align:center}.about-body{font-size:1.08rem;line-height:1.65;color:var(--ink-soft);text-align:center;margin:0 0 .95rem}.about-body:last-child{margin-bottom:0}.ins-links{width:100%;max-width:26rem;margin-top:0;display:flex;flex-direction:column;align-items:stretch}.ins-links .ornament{margin:2.6rem 0 1.4rem}.ins-title{font-size:1.28rem;line-height:1.4;font-weight:500;margin:0 0 1.1rem;text-align:center}.ins-card{display:flex;flex-direction:column;gap:.2rem;text-align:left;text-decoration:none;background:var(--aqua-soft);border:1px solid rgba(111,189,185,.45);border-radius:var(--radius);padding:1.05rem 1.4rem;margin-bottom:.85rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.ins-card:hover{border-color:var(--aqua);box-shadow:0 12px 30px #6fbdb938;transform:translateY(-2px)}.ins-card:last-of-type{margin-bottom:0}.ins-card strong{font-family:var(--serif);font-size:1.3rem;font-weight:500}.ins-card strong:after{content:" ↗";font-family:var(--sans);font-size:.85rem;color:#2e7a76}.ins-card span{font-family:var(--sans);font-size:.86rem;font-weight:300;color:var(--ink-soft);letter-spacing:.02em}.ins-hint{margin-top:1.65rem}.ins-hint a{color:var(--rose-deep);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--rose-line);transition:text-decoration-color .2s ease}.ins-hint a:hover{text-decoration-color:var(--rose-deep)}.cta{display:inline-block;margin-top:1.4rem;font-family:var(--sans);font-size:.85rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#d494a2,var(--rose) 55%,var(--rose-deep));border:0;border-radius:999px;padding:.95rem 2.1rem;box-shadow:0 10px 24px #c97d8c4d;transition:transform .18s ease,box-shadow .18s ease}.cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px #c97d8c61}.cta:active{transform:translateY(0);box-shadow:0 6px 16px #c97d8c4d}.cta:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}.back,.text{background:none;border:0;padding:0;font-family:var(--sans);font-size:.85rem;letter-spacing:.04em;color:var(--rose-deep);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--rose-line);transition:text-decoration-color .2s ease}.back:hover,.text:hover{text-decoration-color:var(--rose-deep)}.back{display:inline-block;margin:0 0 1.4rem}.flow-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.flow-top .back{margin:0}.flow h1{margin:0 0 .4rem}.flow h1+p{margin-bottom:1rem}.flow h2{margin:1.6rem 0 .7rem}.flow .slots+.cta{margin-top:.25rem}.steps{display:flex;gap:.5rem;align-items:center}.steps span{width:8px;height:8px;border-radius:50%;background:var(--rose-line);transition:background .25s ease,box-shadow .25s ease}.steps span.is-done{background:var(--rose)}.steps span.is-now{background:var(--rose);box-shadow:0 0 0 3px var(--rose-soft)}.fade{animation:rise .45s ease both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.essence{background:linear-gradient(135deg,var(--rose-soft),#fdf3ee);border-left:3px solid var(--rose);border-radius:0 var(--radius) var(--radius) 0;padding:.95rem 1.25rem .3rem;margin:.15rem 0 .4rem}.essence p{font-size:1.12rem;font-style:italic;margin-bottom:.65rem;color:var(--ink-soft)}.variant-toggle{display:flex;align-items:center;gap:.45rem;margin-top:2.75rem;font-family:var(--sans)}.variant-toggle>span{font-size:.68rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:.25rem}.variant-toggle button{font-family:var(--sans);font-size:.74rem;font-weight:300;letter-spacing:.08em;background:none;border:1px solid var(--rose-line);border-radius:999px;padding:.3rem .85rem;color:var(--muted);transition:border-color .2s ease,color .2s ease,background .2s ease}.variant-toggle button:hover{border-color:var(--rose);color:var(--rose-deep)}.variant-toggle button.is-on{background:var(--rose-soft);border-color:var(--rose);color:var(--rose-deep)}.choices{display:flex;flex-direction:column;gap:.85rem;margin-top:1.15rem;align-items:stretch}.choice{display:flex;flex-direction:column;gap:.2rem;text-align:left;background:#fffdfbcc;border:1px solid var(--rose-line);border-radius:var(--radius);padding:1.15rem 1.4rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.choice:hover{border-color:var(--rose);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.choice strong{font-family:var(--serif);font-size:1.4rem;font-weight:500}.choice span{font-family:var(--sans);font-size:.88rem;font-weight:300;color:var(--ink-soft);letter-spacing:.02em}.choice.alt{background:var(--sage-soft);border-color:#d8e4d0}.choice.alt:hover{border-color:var(--sage);box-shadow:0 12px 30px #9db89433}.choices .cta{margin-top:.4rem;align-self:flex-start}.choices .text{align-self:flex-start;margin-top:.6rem}.cal{background:#fffdfbd9;border:1px solid var(--rose-line);border-radius:var(--radius);padding:1.3rem 1.3rem 1.5rem;margin-top:.35rem;box-shadow:0 8px 26px #a95f7212}.cal-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.cal-nav strong{font-family:var(--serif);font-size:1.35rem;font-weight:500;text-transform:capitalize}.cal-arrow{width:2.3rem;height:2.3rem;border-radius:50%;border:1px solid var(--rose-line);background:var(--paper);font-family:var(--sans);font-size:1.05rem;line-height:1;color:var(--rose-deep);display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s ease,background .2s ease}.cal-arrow:hover{border-color:var(--rose);background:var(--rose-soft)}.cal-arrow:disabled{opacity:.35;cursor:default;background:var(--paper);border-color:var(--rose-line)}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.cal-week{margin-bottom:.5rem;font-family:var(--sans);font-size:.7rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center}.day{aspect-ratio:1;border-radius:12px;border:1px solid transparent;background:none;font-family:var(--sans);font-size:.95rem;font-weight:300;color:var(--ink);transition:background .15s ease,border-color .15s ease,color .15s ease}.day:hover:not(:disabled){background:var(--rose-soft)}.day.is-today{border-color:var(--rose);border-style:dashed}.day.is-on{background:var(--rose);border-color:var(--rose);color:#fff;font-weight:400;box-shadow:0 6px 14px #c97d8c59}.day:disabled{color:#cfbdc4;cursor:default}.slots{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.1rem}.slot{font-family:var(--sans);font-size:.92rem;font-weight:300;letter-spacing:.03em;background:var(--paper);border:1px solid var(--rose-line);border-radius:999px;padding:.55rem 1.15rem;transition:border-color .15s ease,background .15s ease,color .15s ease}.slot:hover{border-color:var(--rose)}.slot.is-on{background:var(--rose);border-color:var(--rose);color:#fff;box-shadow:0 6px 14px #c97d8c4d}.summary{display:flex;flex-direction:column;gap:.3rem;background:linear-gradient(135deg,var(--rose-soft),#fdf3ee);border:1px solid var(--rose-line);border-radius:var(--radius);padding:1.1rem 1.4rem;margin:.15rem 0 1.15rem}.summary strong{font-family:var(--serif);font-size:1.35rem;font-weight:500}.summary span{font-family:var(--sans);font-size:.9rem;font-weight:300;color:var(--ink-soft);letter-spacing:.03em}.summary span:first-letter{text-transform:uppercase}label{display:block;margin:1.05rem 0}label>span{display:block;font-family:var(--sans);font-size:.74rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}label input,label select,label textarea{display:block;width:100%;padding:.72rem .95rem;border:1px solid #e7d8dc;border-radius:12px;background:var(--paper);font-family:var(--sans);font-size:1rem;font-weight:300;transition:border-color .2s ease,box-shadow .2s ease}label input:focus,label select:focus,label textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px #c97d8c2e}textarea{min-height:7rem}.err{font-family:var(--sans);font-size:.92rem;color:#a94b62;background:var(--rose-soft);border:1px solid var(--rose-line);border-radius:12px;padding:.7rem 1rem}.hint{font-family:var(--sans);font-size:.88rem;font-weight:300;color:var(--muted)}.thanks-panel{text-align:center;background:linear-gradient(160deg,var(--rose-soft),var(--aqua-soft));border:1px solid var(--rose-line);border-radius:var(--radius);padding:2.75rem 1.75rem;display:flex;flex-direction:column;align-items:center}.thanks-panel h1{margin-bottom:.75rem}.thanks-panel p{max-width:26rem;margin-bottom:0}.thanks-panel svg{margin-bottom:1.25rem}.thanks-panel .cta{margin-top:1.35rem;text-decoration:none}.ops p,.ops li,.ops label{font-family:var(--sans);font-weight:300}.ops p{font-size:.98rem}.vault-pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:.4rem 1rem;border:1px solid var(--rose-line);background:var(--paper);color:var(--ink-soft);margin-bottom:1.25rem}.vault-pill.is-open{border-color:#6fbdb999;background:var(--aqua-soft);color:#2e7a76}.vault-pill.is-locked{border-color:var(--rose-line);background:var(--rose-soft);color:var(--rose-deep)}.charts{list-style:none;margin:.75rem 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.55rem}.charts button{width:100%;text-align:left;background:#fffdfbd9;border:1px solid var(--rose-line);border-radius:14px;padding:.8rem 1.1rem;font-family:var(--sans);font-size:.92rem;font-weight:300;letter-spacing:.02em;transition:border-color .2s ease,box-shadow .2s ease}.charts button:hover{border-color:var(--rose);box-shadow:var(--shadow-soft)}.charts button.is-on{border-color:var(--rose);background:var(--rose-soft);box-shadow:var(--shadow-soft);color:var(--rose-deep)}.chart{white-space:pre-wrap;background:var(--paper);border:1px solid var(--rose-line);border-radius:var(--radius);padding:1.25rem 1.4rem;font-family:var(--sans);font-size:.95rem;font-weight:300;line-height:1.65}.note-editor{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--rose-line)}.note-editor textarea{min-height:9rem}.note-editor .cta{margin-top:.25rem}.note{margin-top:auto;padding-top:2.75rem;text-align:center;font-family:var(--sans);font-size:.76rem;font-weight:300;letter-spacing:.05em;color:var(--muted)}.note:before{content:"";display:block;width:5rem;height:1px;margin:0 auto 1.1rem;background:linear-gradient(to right,transparent,var(--rose-line),transparent)}@media(max-width:26rem){.page{padding:1.25rem 1rem 3rem}.top{margin-bottom:2.1rem}.cal{padding:1rem .85rem 1.15rem}.hero-cta{margin-bottom:2.1rem}.hero-id{margin-bottom:1.5rem}.about-photo{width:5.75rem;height:5.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
