:root{--plum:#472c40;--cream:#f8f5ef;--pink:#ead5d4;--ink:#332b30;--muted:#70666c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b67c65;outline-offset:4px}.header{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:30px 54px;border-bottom:1px solid #ded5d5}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--plum);font-size:15px;line-height:1.3}.brand b{font-weight:800}.brand-icon{display:grid;place-items:center;width:45px;height:45px;background:var(--plum);color:var(--cream);border-radius:50%;font-family:Georgia,serif;font-size:30px}.location{font-size:13px;color:var(--muted)}main{max-width:1280px;margin:auto}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;padding:65px 54px 80px}.eyebrow{font-size:13px;color:var(--plum);display:flex;align-items:center;gap:10px}.eyebrow span{width:21px;height:1px;background:var(--plum)}h1{font-size:clamp(36px,4.4vw,57px);line-height:1.13;letter-spacing:-2.6px;font-weight:500;max-width:650px;margin:26px 0}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--plum)}h1 em{background:linear-gradient(transparent 83%,#e6c6c3 83%,#e6c6c3 93%,transparent 93%)}.intro{max-width:470px;font-size:17px;color:var(--muted);line-height:1.8;margin:28px 0 30px}.primary{background:var(--plum);color:white;border:0;border-radius:12px;padding:19px 30px;font-weight:600;font-size:16px;min-height:58px;transition:background .2s,transform .2s}.primary:hover{background:#633d57;transform:translateY(-1px)}.micro{font-size:12px;color:var(--muted);margin:13px 0}.personal{position:relative;padding:4px 0 30px;max-width:400px}.photo{height:385px;background:#eaded8;border-radius:140px 140px 12px 12px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e0d0c7}.photo-corner{position:absolute;top:45px;left:45px;font-size:12px;line-height:1.5;color:#877167}.monogram{font-family:Georgia,serif;font-style:italic;font-size:112px;color:#b5a095;line-height:1}.monogram span{display:block;font:12px system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:1px;margin-top:10px;text-align:center}.photo-bottom{position:absolute;bottom:25px;left:26px;font-size:13px;color:#877167}.signature{padding:18px 0}.signature>span{font-family:Georgia,serif;font-style:italic;font-size:30px;color:var(--plum)}.signature p{margin:0;color:var(--muted);font-size:13px}.note{position:absolute;right:-25px;bottom:0;background:var(--pink);padding:20px 24px;transform:rotate(-5deg);font-family:Georgia,serif;font-style:italic;line-height:1.5;font-size:19px;color:var(--plum);box-shadow:0 6px 16px #472c4009}.approach{padding:55px 54px 65px;border-top:1px solid #ded5d5}.section-label{font-size:12px;letter-spacing:1.7px;color:var(--muted)}h2{font-size:38px;line-height:1.2;font-weight:500;letter-spacing:-1px;margin:18px 0 38px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps article{border-top:1px solid #bdb1b8;padding-top:17px}.steps article>span{font-size:11px;letter-spacing:1px;color:var(--muted)}h3{font-size:18px;font-weight:600;margin:15px 0 10px}.steps p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.invite{background:#ebddd8;border-radius:18px;margin:0 54px 60px;padding:30px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.invite>span{font-family:Georgia,serif;font-size:29px;color:var(--plum);max-width:470px}footer{max-width:1172px;margin:auto;padding:26px 0;color:var(--muted);font-size:12px;border-top:1px solid #ded5d5;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}footer p{width:100%;margin:0}dialog{padding:0;border:0;border-radius:24px;width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);color:var(--ink);background:var(--cream);box-shadow:0 25px 100px #0003}dialog::backdrop{background:#24121f99;backdrop-filter:blur(5px)}.quiz-header{display:flex;justify-content:space-between;align-items:center;padding:22px 30px;border-bottom:1px solid #ded5d5}.quiz-brand{font-size:13px;color:var(--plum)}.icon-button{border:0;background:transparent;color:var(--plum);font-size:30px;min-width:44px;min-height:44px}.quiz-body{padding:28px 32px}.progress-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.progress{height:4px;background:#e5dadf;margin:10px 0 30px;border-radius:9px}.progress span{display:block;height:100%;background:var(--plum);border-radius:9px}#question{font-size:29px;letter-spacing:-.8px;line-height:1.25;margin:0 0 14px}.helper{font-size:14px;color:var(--muted);line-height:1.65;margin:0 0 22px}.options{display:grid;gap:10px}.option{width:100%;text-align:left;border:1px solid #dacece;border-radius:12px;min-height:58px;padding:15px 18px;background:#fffaf6;color:var(--ink);display:flex;align-items:center;justify-content:space-between}.option:after{content:'';width:18px;height:18px;border:1px solid #c6b8c0;border-radius:50%;flex-shrink:0;margin-left:15px}.option.selected{background:#eee4eb;border-color:var(--plum)}.option.selected:after{border:5px solid var(--plum);background:white}.input{width:100%;min-height:60px;border:1px solid #bdacb5;border-radius:12px;background:#fffaf6;color:var(--ink);padding:16px;font-size:18px}.field-label{display:block;margin-bottom:8px;font-size:14px}.quiz-actions{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:16px}.back{border:0;color:var(--muted);background:transparent;padding:12px 0;font-size:14px}.quiz-actions .primary{min-width:150px}.error{color:#a13342;font-size:14px;min-height:22px;margin:10px 0 0}.test-note{background:#eee4eb;padding:14px;border-radius:10px;font-size:13px;color:var(--plum);margin:18px 0}.success-mark{font-size:32px;color:var(--plum);width:65px;height:65px;border:1px solid #c5acbf;border-radius:50%;display:grid;place-items:center;margin-bottom:24px}.success-text{font-size:19px;line-height:1.7}.children{display:grid;gap:14px}.children label{font-size:14px}.consent{display:flex;gap:10px;font-size:13px;align-items:flex-start;margin-top:18px}.consent input{width:20px;height:20px;flex-shrink:0;accent-color:var(--plum)}@media(max-width:760px){.header{padding:20px 22px}.location{font-size:11px;max-width:100px;text-align:right}.hero{display:block;padding:32px 22px 45px}h1{font-size:40px;letter-spacing:-1.9px;margin:22px 0}.intro{font-size:16px;line-height:1.75;margin:22px 0}.hero-copy>.primary{width:100%}.micro{text-align:center;font-size:11px}.personal{margin:40px auto 15px;max-width:350px}.photo{height:315px}.note{right:0;bottom:-12px;font-size:17px;padding:15px 18px}.signature>span{font-size:27px}.approach{padding:38px 22px 42px}h2{font-size:32px}.steps{grid-template-columns:1fr;gap:28px}.steps p{font-size:15px}.invite{margin:0 22px 40px;padding:26px;display:block}.invite>span{font-size:27px;display:block;line-height:1.25;margin-bottom:22px}.invite button{width:100%}footer{margin:0 22px;padding:24px 0;display:block}footer>span{display:block;margin-bottom:7px}.quiz-header{padding:14px 20px}.quiz-body{padding:22px}#question{font-size:27px}.progress{margin-bottom:23px}.quiz-actions .primary{flex:1}.quiz-actions .back{min-width:60px}dialog{border-radius:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.directions{font-size:14px;color:var(--plum);margin:0 0 24px;line-height:1.8}

.photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block}
