:root{--ivory:#FAF7FC;--plum:#332A3D;--lavender:#A89ABC;--peach:#F0D9CC;--muted:#766B80;--line:#E9E2EF;--soft:#F4EFF7}*{box-sizing:border-box}body{margin:0;color:var(--plum);background:var(--ivory);font:15px/1.6 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8C73AB;outline-offset:4px}button{touch-action:manipulation}.site-wrap{max-width:1440px;margin:auto;padding:0 64px}.header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--plum);text-decoration:none;font:31px/1.1 'Libre Caslon Display',Georgia,serif;letter-spacing:-.7px}.brand-symbol{font:36px/1 Georgia;color:#9481A9}.brand-dot{color:#A89ABC}.header-note{font-size:12px;letter-spacing:.3px;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(300px,.93fr) minmax(460px,1.12fr);gap:70px;align-items:start;padding:55px 0 48px}.intro{padding:12px 0 0}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:2.4px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--lavender)}h1{font:64px/.99 'Libre Caslon Display',Georgia,serif;letter-spacing:-1.6px;margin:27px 0 22px}h1 em{font-weight:400;color:#917CA7}.intro-copy{color:var(--muted);font-size:14px;line-height:1.8;margin:0}.map-art{position:relative;max-width:420px;margin-top:4px}.map-art svg{display:block;width:100%;height:auto}.art-caption{position:absolute;bottom:16px;right:8px;font:italic 19px 'Libre Caslon Display',Georgia,serif;color:#8A779D}.journey-note{display:flex;gap:12px;align-items:center;margin-top:16px}.tiny-star{font:31px Georgia;color:#A89ABC}.journey-note p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.journey-note strong{font-weight:500;color:var(--plum)}.quiz-panel{background:#fff;padding:32px 36px 25px;border:1px solid #EEE7F2;border-radius:20px;box-shadow:0 14px 60px #57416806;min-width:0}.quiz-top{display:flex;justify-content:space-between;gap:10px;font-size:9px;font-weight:600;letter-spacing:1.3px;color:#897C96}#step-count{font-variant-numeric:tabular-nums;white-space:nowrap}.progress-track{height:3px;display:block;background:var(--soft);margin:17px 0 28px;border-radius:5px;overflow:hidden}#progress-fill{height:100%;width:16.666%;background:var(--lavender);transition:width .3s}h2{font:35px/1.12 'Libre Caslon Display',Georgia,serif;letter-spacing:-.45px;margin:0 0 12px}.question-sub{font-size:12px;color:var(--muted);margin:0 0 23px}.options{display:grid;gap:9px}.option{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;min-height:53px;cursor:pointer;transition:background .15s,border-color .15s}.option:hover{background:#FAF8FC;border-color:#CDBFDB}.option:has(input:checked){border-color:#AA96BF;background:#F5F0F9}.option:has(input:focus-visible){outline:3px solid #8C73AB;outline-offset:2px}.option input{position:absolute;opacity:0;width:1px;height:1px}.indicator{width:17px;height:17px;flex-shrink:0;border:1px solid #D4CADC;border-radius:50%;display:grid;place-items:center}.option.multi .indicator{border-radius:4px}.option input:checked+.indicator{background:var(--plum);border-color:var(--plum)}.option input:checked+.indicator:after{content:'✓';color:white;font-size:11px}.option-text{font-size:12px;line-height:1.6}.option-text strong{font-weight:500}.option-text small{display:block;color:var(--muted);font-size:11px}.text-field{width:100%;border:1px solid #DCD2E5;background:#FEFCFF;border-radius:9px;padding:13px;color:var(--plum);resize:vertical;min-height:52px;margin-top:8px;font-size:14px}.text-field::placeholder{color:#978C9F}.field-label{display:block;margin-top:20px;font-size:12px;font-weight:500}.field-label small{font-weight:400;color:var(--muted)}.word-guide{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin-top:6px}.scene-example{border-left:2px solid var(--peach);padding:8px 0 8px 15px;margin:17px 0;font:21px/1.4 'Libre Caslon Display',Georgia,serif;color:#8B789A}.navigation{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:16px}.back{margin-right:auto;border:0;background:transparent;color:var(--muted);font-size:12px;padding:12px 0;min-height:44px}.back span{margin-right:7px}.primary{display:flex;justify-content:center;align-items:center;gap:30px;background:var(--plum);color:var(--ivory);border:0;border-radius:8px;padding:14px 23px;min-height:49px;font-size:12px;font-weight:500;transition:background .15s}.primary:hover{background:#51405F}.primary span{font-size:19px;line-height:1}.primary:disabled{cursor:not-allowed;opacity:.65}.validation{min-height:16px;font-size:11px;color:#9A3D59;margin-top:10px}.price-note{display:flex;gap:9px;justify-content:center;align-items:flex-start;border-top:1px solid #F0EBF4;padding-top:19px;margin-top:26px;font-size:10px;line-height:1.85;text-align:center;color:var(--muted)}.price-note svg{flex-shrink:0;margin-top:2px}.price-note strong{font-weight:600;color:#62526F}.note-secondary{color:#91839D}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:21px 0 28px;font-size:10px;color:#8C7E98}.checkout-list{list-style:none;padding:0;margin:20px 0}.checkout-list li{padding:8px 0;font-size:13px}.checkout-list li:before{content:'✓';color:#917CA7;margin-right:12px}.checkout-price{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:20px 0}.checkout-price strong{font:38px 'Libre Caslon Display',Georgia,serif}.checkout-price span{font-size:11px;color:var(--muted)}.preview-note{font-size:11px;color:var(--muted);background:var(--soft);padding:13px;border-radius:8px;margin-top:16px}.secondary{border:1px solid var(--line);background:transparent;color:var(--plum);border-radius:8px;padding:11px 15px;font-size:12px;min-height:44px}.result-statement{font:26px/1.35 'Libre Caslon Display',Georgia,serif;padding:18px 0;border-bottom:1px solid var(--line)}dialog{max-width:450px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:16px;padding:30px;color:var(--plum);background:var(--ivory)}dialog::backdrop{background:#332A3D66}dialog h2{font-size:30px}dialog p{font-size:13px}.dialog-close{position:absolute;top:8px;right:10px;background:none;border:0;padding:8px;font-size:23px;color:var(--plum)}.dialog-close-button{margin-top:20px}.details-button{border:none;background:none;color:#7C668F;text-decoration:underline;text-underline-offset:3px;font-size:11px;padding:0}.screen-enter{animation:enter .22s ease}@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:1500px){.layout{padding-top:70px;padding-bottom:65px}}@media(max-width:1100px){.site-wrap{padding:0 36px}.layout{gap:36px;grid-template-columns:minmax(250px,.9fr) minmax(420px,1.15fr)}h1{font-size:56px}.quiz-panel{padding:28px}.header{height:95px}}@media(max-width:820px){.site-wrap{padding:0 24px}.header{height:85px}.header-note{display:none}.layout{display:block;padding:27px 0}.intro{padding:0}.eyebrow{font-size:9px}.intro h1{font-size:43px;line-height:1.07;margin:17px 0 12px;letter-spacing:-.8px}.intro h1 br{display:none}.intro h1 em br{display:none}.intro h1 em:before{content:' '}.intro-copy{font-size:13px;margin-bottom:24px}.intro-copy br{display:none}.map-art,.journey-note{display:none}.quiz-panel{padding:26px}.quiz-top{font-size:8px}h2{font-size:32px}footer{font-size:9px;align-items:flex-start}}@media(max-width:420px){.site-wrap{padding:0 16px}.brand{font-size:28px}.brand-symbol{font-size:31px}.intro h1{font-size:38px}.quiz-panel{padding:24px 19px}.option{padding:11px;gap:10px}.option-text{font-size:12px}.price-note{font-size:9px}.navigation .primary{padding:13px 19px}footer{flex-direction:column;gap:4px}.progress-track{margin-bottom:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

[hidden]{display:none!important}
