@font-face{font-family:OrbitSerif;src:url('/fonts/cormorant.woff2') format('woff2');font-display:swap}
:root{
 --plum:#351225;--wine:#67183f;--raspberry:#c8246b;--hot-pink:#ee4d98;
 --baby-pink:#ffc7df;--powder-pink:#ffe6f1;--cream-pink:#fff7fb;--champagne:#dfbd69;
 --display:'Bodoni 72',Didot,'Iowan Old Style',OrbitSerif,Baskerville,serif;
}
*{box-sizing:border-box}
html{color-scheme:light;background:#f6aeca;overflow-x:clip}
body{margin:0;min-height:100vh;padding:16px;color:var(--plum);font:15px/1.6 system-ui,sans-serif;background:radial-gradient(circle at 10% 6%,#fff9 0 4%,transparent 30%),radial-gradient(circle at 92% 18%,#ff6fac66,transparent 40%),linear-gradient(155deg,#ffc6dd,#ffe5f0 46%,#f7aeca 100%)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}
button:disabled{cursor:wait;opacity:.6}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--raspberry);outline-offset:4px}
a{color:#8e174b;text-underline-offset:3px}
[hidden]{display:none!important}
::selection{background:var(--raspberry);color:white}
.intake-atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ambient-orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.45}
.orb-one{width:440px;height:440px;left:-240px;top:13vh;background:radial-gradient(circle at 40% 35%,white,#ff78b3 52%,transparent 70%)}
.orb-two{width:320px;height:320px;right:-160px;top:48vh;background:radial-gradient(circle at 35% 30%,#f6edff,#bea5edbb 45%,transparent 72%)}
.ambient-star,.ambient-heart{position:absolute;font-family:Georgia,serif;color:#fffbea;text-shadow:0 0 18px white,0 0 40px #f55c9f}
.star-one{left:2%;top:32%;font-size:36px}.star-two{right:3%;top:14%;font-size:30px}.star-three{right:2%;bottom:9%;font-size:42px}
.ambient-heart{bottom:7%;left:3%;font-size:80px;color:#be206344}
.shell{position:relative;z-index:1;max-width:1480px;margin:auto}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 24px;margin:0 0 22px;border:1px solid #fffc;border-radius:999px;background:#fff0f7d6;box-shadow:0 12px 42px #6e123c21,inset 0 0 0 1px #d3a9524d;backdrop-filter:blur(22px)}
.wordmark{display:block;line-height:0;flex-shrink:0}
.wordmark img{display:block;width:200px;height:auto;filter:drop-shadow(0 5px 12px #a71b5624)}
.mode{font-size:11px;letter-spacing:.02em;padding:9px 15px;border:1px solid #c8246b33;border-radius:30px;background:#fff7fbab;color:var(--wine)}
main{position:relative;isolation:isolate}
.intake-atmosphere::before,.intake-atmosphere::after{content:'';position:absolute;border:1px solid #b81f6033;border-radius:50%;pointer-events:none;width:76%;height:72%;max-height:820px;right:-2%;top:4%;transform:rotate(-18deg)}
.intake-atmosphere::after{border-color:#dfbd6980;width:94%;height:48%;top:27%;right:-1%;transform:rotate(-26deg)}
.welcome,#session,.completion{position:relative;border:2px solid #fffc;border-radius:48px;box-shadow:0 28px 80px #6e113324,inset 0 0 0 1px #d6ab4c44;background:linear-gradient(125deg,#fff9fcdd,#ffe2efdf)}
.welcome{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:45px;min-height:730px;padding:58px 54px;overflow:hidden}
.welcome::before{content:'';position:absolute;border:1px solid #c4226926;border-radius:50%;width:750px;height:750px;left:-380px;top:-560px;pointer-events:none}
.welcome::after{content:'';position:absolute;z-index:0;pointer-events:none;height:150%;width:20%;top:-25%;left:45%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,#fff4,transparent)}
.welcome-copy{position:relative;z-index:1;min-width:0;padding-bottom:54px}
#retrieve{position:absolute;bottom:0;left:0;font-size:12px;padding:8px 15px;min-height:34px;border-radius:20px}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2px;font-weight:800;color:#bc1b60}
.eyebrow::before{content:'';width:34px;height:1px;background:var(--champagne);flex:none}
h1,h2{font-family:var(--display);color:var(--plum)}
h1{font-size:clamp(60px,6.8vw,96px);font-weight:600;line-height:.98;letter-spacing:-.015em;word-spacing:.075em;margin:26px 0;text-shadow:0 2px 0 #ffffffb3}
h1 em{font-weight:400;color:#94194f}
h2{font-size:32px;line-height:1.12;font-weight:600;letter-spacing:0;word-spacing:.055em;margin:0 0 16px}
.welcome p{max-width:500px;font-size:18px;line-height:1.8;color:#623047}
.welcome p.small{font-size:12px;max-width:430px}
.room-preview{position:relative;z-index:1;margin:0;min-width:0;height:480px;border:2px solid #ffff;border-radius:130px 130px 32px 32px;padding:10px;background:#fff7fb;box-shadow:0 22px 50px #67143830,0 6px 0 #99184e16,inset 0 0 0 1px #dfbd6999}
.room-preview::before{position:absolute;content:'✦';color:var(--champagne);font:48px Georgia;right:-17px;top:15%;text-shadow:0 0 24px white;z-index:2;pointer-events:none}
.room-preview img{width:100%;height:100%;object-fit:cover;display:block;border-radius:120px 120px 23px 23px}
.room-preview figcaption{position:absolute;bottom:26px;left:25px;right:25px;font-size:10px;border:1px solid #fffc;border-radius:20px;background:#fff4edeb;padding:7px 12px;width:fit-content;color:#63463f}
.actions{display:flex;gap:15px;flex-wrap:wrap;margin:30px 0}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:999px;padding:14px 26px;font-size:14px;font-weight:700;min-height:50px;border:1px solid #ffffffaa;line-height:1.4}
.primary{background:linear-gradient(125deg,#d72c78,#a41350);color:#fff;box-shadow:0 5px 0 #761038,0 12px 25px #7f103b22;text-shadow:0 1px 1px #761038}
.primary:hover{background:linear-gradient(125deg,#e23984,#b51b61);transform:translateY(-2px);box-shadow:0 7px 0 #761038,0 14px 26px #7f103b30}
.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #761038}
.secondary{background:#fff9fcbf;border-color:#c8246b40;color:#7e2850;box-shadow:inset 0 0 0 1px #fff9}
.secondary:hover{background:#fff5fa;box-shadow:0 8px 18px #a3195418;transform:translateY(-1px)}
.secondary:active{transform:translateY(1px)}
.small{font-size:12px;color:#795065}
.site-footer{display:flex;justify-content:space-between;gap:16px;padding:23px 24px;color:#7e3d5a;font-size:11px}
#session{max-width:1120px;margin:34px auto 0}
.steps{display:flex;justify-content:center;gap:20px;padding:22px 28px;border-bottom:1px solid #c8246b22;background:#fff7fb77;border-radius:46px 46px 0 0;font-size:12px;color:#87566d}
.steps span{display:flex;gap:9px;align-items:center;padding:9px 16px;border:1px solid transparent;border-radius:999px}
.steps span.active{color:#a11650;background:#fff9fc;border-color:#edafca;box-shadow:0 4px 12px #b41e5c0d}
.steps b{font-weight:600}
form{max-width:970px;margin:auto;padding:42px 42px}
.heading{margin-bottom:35px}
.heading h1{font-size:58px;margin:20px 0;line-height:1.05}
.heading p{font-size:14px;max-width:680px;color:#704158}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 32px}
label,.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:650;color:#522037;min-width:0}
input,select,textarea{border:1px solid #a31c5440;border-radius:14px;background:#ffffffde;color:#59334d;padding:12px 14px;min-width:0;width:100%;line-height:1.5;font-weight:400;box-shadow:inset 0 2px 8px #7915410a;transition:border-color .18s,box-shadow .18s}
input:focus,select:focus,textarea:focus{border-color:var(--hot-pink);box-shadow:0 0 0 4px #ee4d9814}
input[type=checkbox]{width:17px;min-width:17px;height:17px;accent-color:var(--raspberry);margin:2px 0;box-shadow:none}
small{font-size:11px;font-weight:400;color:#795065;line-height:1.55}
.place-field{position:relative}
.places{position:absolute;top:80px;z-index:5;background:#fff9fc;box-shadow:0 9px 35px #704e7040;border:1px solid #c595b5;border-radius:14px;padding:7px;width:100%;max-height:285px;overflow:auto}
.places button{border:0;background:transparent;text-align:left;color:#673f59;padding:11px 12px;width:100%;border-radius:8px;font-size:13px}
.places button:hover,.places button:focus{background:#f8dfed}
.form-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:36px;border-top:1px solid #cd54842b;padding-top:26px}
.form-footer .small{max-width:280px;text-align:center;font-size:11px}
.chapter{border:1px solid #d78bad77;border-radius:22px;background:linear-gradient(140deg,#fffafddd,#ffe9f3aa);margin-bottom:18px;box-shadow:0 4px 16px #a3195408}
.chapter summary{padding:21px 22px;cursor:pointer;display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:29px;font-weight:600;letter-spacing:-.025em}
.chapter summary::after{content:'+';font:22px system-ui;margin-left:auto;color:#b52366}
.chapter[open] summary::after{content:'−'}
.chapter summary span{font:11px system-ui;letter-spacing:1px;color:#b52366;flex:none}
.chapter-inner{padding:0 24px 24px}
.chapter-inner>label:not(.check){margin-bottom:8px}
.chapter textarea{min-height:180px;resize:vertical}
.count{font-size:11px;text-align:right;margin:6px 0 16px;color:#7c6173}
.chapter-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.areas{display:flex;flex-wrap:wrap;gap:16px;border:0;padding:0;margin:17px 0}
.areas legend{font-size:12px;margin-bottom:8px}
.check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;margin:14px 0}
.policy-box,.notice{background:linear-gradient(135deg,#ffe0ee88,#fff7fbbb);border:1px solid #d78bad77;border-radius:20px;padding:24px;margin:25px 0}
.notice p{font-size:13px;line-height:1.8}
.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;border:1px solid #e5bbcf;padding:22px;border-radius:20px;background:#fff7fb80}
.review-grid dt{font-size:11px;color:#87556e}
.review-grid dd{margin:3px 0 10px;overflow-wrap:anywhere}
.review-chapter{border-bottom:1px solid #edc3d9;padding:20px 0}
.review-chapter h3{font-family:var(--display);font-size:27px;font-weight:600;margin:0 0 7px}
.review-chapter p{white-space:pre-wrap;font-size:13px;max-height:155px;overflow:auto;overflow-wrap:anywhere}
.review-chapter.expanded p{max-height:none;overflow:visible}
.review-expand{border:1px solid #d78bad77;border-radius:20px;padding:7px 14px;background:#fff7fb;color:#8e174b;font-size:12px;margin:0 0 7px}
.review-chapter .metadata{font-size:11px;color:#84576e}
#error{border:1px solid #bb5778;background:#fff0f3;color:#842745;padding:13px;border-radius:12px}
.completion{padding:60px 54px;max-width:1000px;margin:34px auto 0}
.completion h1{font-size:60px;line-height:1.04}
#receipt{overflow-wrap:anywhere}
.receipt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0}
.stat{padding:19px;background:linear-gradient(#fff4fa,#ffd9ea);border:1px solid #e0b8d0;border-radius:18px;box-shadow:inset 0 1px white}
.stat b{display:block;font:40px var(--display);color:#9f2058}
.stat span{font-size:12px}
.receipt-id{overflow-wrap:anywhere;font-size:12px;color:#87556e}
.email-previews{border-top:1px solid #e8bbd0;padding-top:28px;margin-top:38px}
.email-previews a{display:inline-block;margin:4px 22px 0 0;font-size:13px}
.email-previews p{font-size:12px}
.warning{padding:15px;border:1px solid #d6b68c;border-radius:12px;background:#fff5e6;font-size:13px}
dialog{max-width:530px;width:calc(100% - 40px);border:2px solid #fff;padding:38px;border-radius:30px;background:linear-gradient(140deg,#fff7fb,#ffe3ef);color:#58354e;box-shadow:0 20px 90px #35233f60,inset 0 0 0 1px #dfbd6980}
dialog::backdrop{background:#40324b80;backdrop-filter:blur(5px)}
dialog h2{margin-top:16px}
dialog p{font-size:14px}
.dialog-close{border:1px solid #dba8c0;background:#fff6fa;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;padding:0;font-size:24px;line-height:1;color:#774366;position:absolute;top:12px;right:12px}
@media(prefers-reduced-motion:no-preference){
 .ambient-star{animation:star-glow 4s ease-in-out infinite alternate}
 .star-two{animation-delay:-2s}.star-three{animation-delay:-1s}
 .ambient-orb{animation:orb-drift 12s ease-in-out infinite alternate}
 .intake-atmosphere::after{animation:orbit-breathe 14s ease-in-out infinite alternate}
 .room-preview::before{animation:star-glow 3s ease-in-out infinite alternate}
}
@keyframes star-glow{from{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1.06)}}
@keyframes orb-drift{to{transform:translate(12px,-18px)}}
@keyframes orbit-breathe{to{transform:rotate(-22deg) scale(1.015)}}
@media(max-width:1100px){
 .welcome{gap:30px;padding:45px 36px;min-height:640px}
 .room-preview{height:425px}
 .welcome h1{font-size:70px}
}
@media(max-width:760px){
 body{padding:12px}.masthead{padding:12px 16px;gap:12px;margin-bottom:17px}
 .wordmark img{width:140px}.mode{max-width:156px;font-size:9px;line-height:1.4;padding:8px 12px}
 .welcome,#session,.completion{border-radius:30px}
 .welcome{grid-template-columns:1fr;gap:20px;padding:34px 26px;min-height:0}
 .welcome h1{font-size:58px}.welcome p{font-size:16px}.welcome p.small{font-size:12px}
 .room-preview{height:320px;border-radius:80px 80px 25px 25px;max-width:500px;width:100%;justify-self:center}
 .room-preview img{border-radius:70px 70px 16px 16px}
 .room-preview figcaption{left:20px;right:20px;bottom:22px;font-size:9px}
 .room-preview::before{font-size:38px;right:-12px}
 #session,.completion{margin-top:20px}
 .steps{padding:15px 8px;gap:2px;font-size:10px;border-radius:28px 28px 0 0}
 .steps span{gap:5px;padding:8px 10px}
 form{padding:28px 24px}.heading h1{font-size:43px}.heading{margin-bottom:27px}
 .form-grid,.chapter-details,.review-grid{grid-template-columns:minmax(0,1fr)}
 .form-grid{gap:21px}.chapter summary{font-size:25px;padding:20px 17px}
 .chapter-inner{padding:0 18px 23px}
 .form-footer .small{display:none}.form-footer{gap:12px;align-items:stretch}
 .primary,.secondary{padding:13px 21px;min-height:48px;font-size:13px}
 .actions{gap:15px;margin:26px 0}
 .site-footer{padding:20px 12px}.completion{padding:35px 24px}.completion h1{font-size:46px}
 .receipt-grid{grid-template-columns:1fr}.stat{display:flex;gap:15px;align-items:center}.stat b{font-size:32px}
 .check{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.5px;gap:9px}.eyebrow::before{width:24px}
 .intake-atmosphere::before,.intake-atmosphere::after{right:2%;width:95%;height:45%;transform:none;animation:none}
 .areas{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.areas .check{margin:4px 0}
 input,select,textarea{font-size:16px}
 .primary:hover,.secondary:hover{transform:none}
}
@media(max-width:360px){
 .wordmark img{width:117px}.mode{max-width:140px;font-size:8px}.masthead{padding:12px}
 .welcome{padding:29px 20px}.welcome h1{font-size:49px}
 form{padding:26px 20px}.steps span{padding:7px 8px}.heading h1{font-size:39px}
}
#retrieve-dialog{width:min(540px,calc(100vw - 32px));max-height:85dvh;overflow:auto}
#retrieve-form{display:grid;gap:18px;padding:12px 0}
#retrieve-form label{display:grid;gap:8px}
#saved-versions{display:grid;gap:10px;max-height:260px;overflow:auto;margin:14px 0}
#retrieve-status{font-size:14px;line-height:1.6}
