/* Shared type scale: questions 32–40px, options 18px, body/inputs 16px, labels 14px, captions 12px. */
.zenexa-planner-page{--zp-text-heading:clamp(2rem,3vw,2.5rem);--zp-text-option:1.125rem;--zp-text-body:1rem;--zp-text-small:.875rem;--zp-text-caption:.75rem}
/* The enquiry is a quiet, branded conversation inside the existing website. */
body.zenexa-planner-page{background:#100f20!important;color:#171729!important;min-height:100svh;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--zp-text-body);line-height:1.6;color-scheme:light}
.zenexa-planner-page [hidden]{display:none!important}
.zp-stage{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 24px 24px}
.zp-panel{position:relative;width:min(900px,100%);background:rgba(253,253,255,.97);border:0;border-radius:26px;box-shadow:0 28px 100px #0003;padding:38px 56px 26px}
.zp-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:44px}
.zp-wordmark{display:block;text-decoration:none!important}.zp-wordmark img{display:block;width:120px;height:48px;object-fit:contain}.zp-top>div{display:flex;align-items:center}
.zp-close{font-size:28px;line-height:1;color:#706981!important;font-weight:300;text-decoration:none!important;padding:8px}
.zp-guide{position:absolute;right:45px;top:115px;pointer-events:none}.zp-guide svg{display:block;width:110px;height:110px;filter:drop-shadow(0 9px 12px #26205120)}.zp-guide p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
.zp-intro h1{font-size:var(--zp-text-heading);color:#171729!important}.zp-intro p{color:#555466}
.zp-enhanced .zp-intro{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.zp-question{font-size:var(--zp-text-heading);line-height:1.2;letter-spacing:-.035em;font-weight:600;margin:0 110px 18px 0;color:#171729!important;outline:none!important;max-width:640px}
.zp-hint{font-size:var(--zp-text-body);color:#555466!important;line-height:1.75;margin:0 0 32px;max-width:600px}
.zp-step{margin-bottom:38px}.zp-enhanced .zp-step{margin:0;animation:zp-arrive .32s ease both}
.zp-choices{display:grid;gap:12px;border:0;padding:0;margin:0;min-width:0}.zp-choices-grid{grid-template-columns:1fr 1fr}
.zp-option{display:flex;align-items:center;position:relative;gap:16px;min-height:70px;padding:18px 22px;border:1px solid transparent;background:#f2f1f7;border-radius:14px;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}
.zp-option:hover{background:#ebe9f3;transform:translateY(-2px)}.zp-option:has(input:checked){background:#ece9f5;box-shadow:inset 0 0 0 1px #262051}.zp-option:focus-within{outline:2px solid #706497;outline-offset:4px}
.zp-option input{position:absolute;opacity:0;width:1px;height:1px}.zp-option strong{font-size:var(--zp-text-option);font-weight:600;color:#262051}.zp-option small{display:block;font-size:var(--zp-text-small);line-height:1.65;color:#5e5a70;margin-top:5px}.zp-choice-end{display:none;margin-left:auto;color:#5c537a;font-size:20px}.zp-option:has(input:checked) .zp-choice-end{display:block;font-size:0}.zp-option:has(input:checked) .zp-choice-end:after{content:'✓';font-size:19px;color:#262051}
.zp-choice-icon{width:34px;height:34px;color:#262051;flex:0 0 34px}
.zp-step[data-step=identity] .zp-question{font-size:var(--zp-text-heading);max-width:610px;margin-right:120px;letter-spacing:-.035em;line-height:1.2}
.zp-step[data-step=identity] .zp-hint{max-width:570px;margin-bottom:34px}
.zp-step[data-step=identity] .zp-choices{grid-template-columns:1fr 1fr;gap:18px}
.zp-step[data-step=identity] .zp-option{display:grid;grid-template-columns:1fr auto;gap:20px 12px;align-items:start;padding:26px 28px;min-height:200px;background:linear-gradient(135deg,#f2f0f8,#f7f7fb)}
.zp-step[data-step=identity] .zp-choice-icon{grid-column:1}.zp-step[data-step=identity] .zp-option>span:not(.zp-choice-end){grid-row:2;grid-column:1/3}.zp-step[data-step=identity] .zp-choice-end{grid-row:1;grid-column:2;align-self:center}
.zp-step[data-step=identity] .zp-option strong{font-size:var(--zp-text-option);font-weight:600;letter-spacing:-.025em}.zp-step[data-step=identity] .zp-option small{font-size:var(--zp-text-small);margin-top:8px;max-width:245px}
.zenexa-planner-page .zp-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.zenexa-planner-page .zp-form textarea{display:block;width:100%;border:1px solid #dedbe6;border-radius:12px;padding:17px 18px;background:#fff;color:#202031;box-shadow:none;line-height:1.6;min-height:56px;font:inherit;font-size:var(--zp-text-body);font-weight:400;resize:vertical}
.zenexa-planner-page .zp-form input::placeholder,.zenexa-planner-page .zp-form textarea::placeholder{color:#7e768e;font-size:var(--zp-text-body)}.zenexa-planner-page .zp-form input:focus,.zenexa-planner-page .zp-form textarea:focus{outline:2px solid #81739f;outline-offset:2px}
.zp-field{display:block;font-size:var(--zp-text-small);font-weight:550;color:#504c69;margin-bottom:18px}.zp-field input{margin-top:7px}.zp-field>span{font-weight:400;color:#71687f}
.zp-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin-top:32px;padding-top:12px;min-height:48px}.zp-back,.zp-next{appearance:none;background:none;border:0;box-shadow:none;cursor:pointer;font:inherit;font-size:var(--zp-text-small);padding:9px 0;white-space:nowrap}.zp-back{color:#5f566e;justify-self:start}.zp-back:disabled{visibility:hidden}.zp-next{color:#262051;font-weight:550;justify-self:end}.zp-auto{font-size:var(--zp-text-caption);color:#655b76;justify-self:end}
.zp-progress{display:flex;align-items:center;gap:7px;width:auto;margin:0}.zp-progress>span{display:block;width:5px;height:5px;border-radius:50%;background:#d5d0e1;transition:background .25s,transform .25s}.zp-progress>span.is-active{background:#262051;transform:scale(1.25)}
.zp-outside{display:flex;align-items:center;justify-content:center;margin-top:24px;font-size:var(--zp-text-small);min-height:30px}.zp-outside a{color:#d1cce0!important;text-decoration:underline;text-underline-offset:5px}
.zp-privacy{font-size:var(--zp-text-small)!important;color:#625a70!important;margin:22px 0 18px;line-height:1.8}.zp-privacy a{color:#262051;text-decoration:underline}.zp-check{display:flex;align-items:flex-start;gap:10px;font-size:var(--zp-text-small);line-height:1.6;margin-bottom:15px;color:#5d576f}.zp-check input{accent-color:#262051;flex:0 0 15px;margin-top:3px;width:15px;height:15px}
.zp-submit{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;background:#262051!important;color:#fff!important;border:0;border-radius:28px;padding:17px 24px;font:inherit;font-size:var(--zp-text-body);font-weight:550;cursor:pointer;margin-top:24px;text-decoration:none!important}.zp-submit:disabled{opacity:.6;cursor:wait}
.zp-review{max-height:300px;overflow:auto;overscroll-behavior:contain;padding:0 3px}.zp-review-row{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:16px 0;border-bottom:1px solid #eceaf1}.zp-review-row:last-child{border:0}.zp-review-row dt{color:#62596f;font-size:var(--zp-text-small)}.zp-review-row dd{grid-column:1;margin:0;color:#252036;font-size:var(--zp-text-small);white-space:pre-wrap;overflow-wrap:anywhere}.zp-edit{grid-column:2;grid-row:1/3;align-self:center;background:none;border:0;color:#262051;font-size:var(--zp-text-small);cursor:pointer;text-decoration:underline}
.zp-error,.zp-server-status{padding:12px 14px;border:1px solid #d9adad;background:#fff4f4;color:#893b3b!important;font-size:var(--zp-text-small);border-radius:9px;margin:16px 0 0}.zp-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.zp-success{padding:12px 0 28px;outline:0}.zp-success-mark{display:inline-grid;place-items:center;width:50px;height:50px;background:#eeedf5;color:#262051;border-radius:50%;font-size:23px;margin-bottom:24px}.zp-success h2{font-size:var(--zp-text-heading);color:#171729!important;margin-bottom:20px;margin-right:100px}.zp-success p{color:#555466;line-height:1.8;max-width:590px}.zp-home{display:block;text-align:center;font-size:var(--zp-text-small);margin-top:20px;color:#625770}
.zenexa-planner-page :focus-visible{outline:2px solid #9583bf;outline-offset:5px}.zenexa-planner-page .zp-step textarea{min-height:150px}.zenexa-planner-page .zp-form{margin:0}
@keyframes zp-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.zp-stage{padding:20px 14px;justify-content:center}.zp-panel{padding:24px 24px 20px;border-radius:22px}.zp-top{margin-bottom:35px}.zp-wordmark img{width:100px;height:40px}.zp-close{font-size:25px;padding:5px}.zp-guide{top:100px;right:19px}.zp-guide svg{width:70px;height:70px}.zp-question,.zp-step[data-step=identity] .zp-question{font-size:var(--zp-text-heading);margin-right:63px;letter-spacing:-.035em;line-height:1.2}.zp-hint{font-size:var(--zp-text-body);margin-top:20px;margin-bottom:25px}.zp-step[data-step=identity] .zp-hint{margin-bottom:24px}.zp-step[data-step=identity] .zp-choices{gap:12px}.zp-step[data-step=identity] .zp-option{padding:19px 16px;min-height:215px;gap:20px 7px}.zp-step[data-step=identity] .zp-option strong{font-size:var(--zp-text-option);line-height:1.25;display:block}.zp-step[data-step=identity] .zp-option small{font-size:var(--zp-text-small);line-height:1.6}.zp-choice-icon{width:29px;height:29px}.zp-choice-end{font-size:18px}.zp-choices-grid{grid-template-columns:1fr}.zp-option{padding:15px;min-height:64px}.zp-option strong{font-size:var(--zp-text-option)}.zp-option small{font-size:var(--zp-text-small)}.zp-controls{gap:12px;margin-top:25px;padding-top:6px}.zp-auto{font-size:var(--zp-text-caption);text-align:right;white-space:normal}.zp-back,.zp-next{font-size:var(--zp-text-small)}.zp-progress{gap:5px}.zp-progress>span{width:4px;height:4px}.zp-outside{margin-top:18px}.zp-success h2{font-size:var(--zp-text-heading);margin-right:65px}.zp-review{max-height:260px}}
@media(max-width:360px){.zp-panel{padding-inline:20px}.zp-step[data-step=identity] .zp-option{padding:17px 13px}.zp-step[data-step=identity] .zp-option strong{font-size:var(--zp-text-option)}.zp-question,.zp-step[data-step=identity] .zp-question{font-size:var(--zp-text-heading)}}
@media(prefers-reduced-motion:reduce){.zp-step,.zp-option,.zp-progress>span{animation:none!important;transition:none!important}}
/* The planner shares the site's saved appearance, with its own visible toggle. */
html[data-theme=light]{--zp-bg:#f5f5f8;--zp-panel:rgba(253,253,255,.97);--zp-ink:#171729;--zp-muted:#555466;--zp-accent:#262051;--zp-choice:#f0eef7;--zp-choice-end:#f7f7fb;--zp-choice-hover:#e9e6f2;--zp-line:#d8d5e2;--zp-input:#fff;--zp-outside:#51485f;--zp-shadow:#10152218}
html[data-theme=dark]{--zp-bg:#0b0d14;--zp-panel:rgba(20,23,35,.97);--zp-ink:#f0f1f7;--zp-muted:#b4bacd;--zp-accent:#c0b7ee;--zp-choice:#202337;--zp-choice-end:#1c2031;--zp-choice-hover:#292d45;--zp-line:#41465e;--zp-input:#121622;--zp-outside:#bcc4db;--zp-shadow:#0005}
body.zenexa-planner-page{background:var(--zp-bg)!important;color:var(--zp-ink)!important}
.zenexa-planner-page .zp-particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.zp-panel{background:var(--zp-panel);box-shadow:0 28px 100px var(--zp-shadow)}
.zp-question,.zp-intro h1,.zp-success h2{color:var(--zp-ink)!important}
.zp-hint,.zp-intro p,.zp-success p{color:var(--zp-muted)!important}
.zp-top>div{gap:14px}.zp-theme{font:inherit;font-size:12px;padding:7px 0;background:none;border:0;color:var(--zp-muted);cursor:pointer;white-space:nowrap}
.zp-close,.zp-option strong,.zp-choice-icon,.zp-choice-end,.zp-next,.zp-edit{color:var(--zp-accent)!important}
html[data-theme=dark] .zp-wordmark img{filter:brightness(0) invert(1)}
.zp-option,.zp-step[data-step=identity] .zp-option{background:linear-gradient(135deg,var(--zp-choice),var(--zp-choice-end))}
.zp-option:hover{background:var(--zp-choice-hover)}.zp-option:has(input:checked){background:var(--zp-choice-hover);box-shadow:inset 0 0 0 1px var(--zp-accent)}
.zp-option small,.zp-back,.zp-auto,.zp-field,.zp-field>span,.zp-check,.zp-review-row dt,.zp-home{color:var(--zp-muted)}
.zp-choice-end:after{color:var(--zp-accent)!important}.zp-review-row dd{color:var(--zp-ink)}.zp-review-row{border-color:var(--zp-line)}
.zp-progress>span{background:var(--zp-line)}.zp-progress>span.is-active{background:var(--zp-accent)}
.zp-outside a{color:var(--zp-outside)!important}.zp-privacy{color:var(--zp-muted)!important}.zp-privacy a{color:var(--zp-accent)}
.zenexa-planner-page .zp-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.zenexa-planner-page .zp-form textarea{background:var(--zp-input);color:var(--zp-ink);border-color:var(--zp-line)}
.zenexa-planner-page .zp-form input::placeholder,.zenexa-planner-page .zp-form textarea::placeholder{color:var(--zp-muted);opacity:.8}
html[data-theme=dark] .zp-submit{box-shadow:inset 0 0 0 1px #79719b}.zp-success-mark{color:var(--zp-accent);background:var(--zp-choice)}
.zp-other{margin-top:22px;color:var(--zp-muted);font-size:var(--zp-text-small)}.zp-other summary{cursor:pointer;display:list-item;text-underline-offset:4px}.zp-other[open] summary{margin-bottom:16px}.zp-other label{display:block;margin-bottom:8px;font-size:var(--zp-text-small)}.zenexa-planner-page .zp-other textarea{min-height:110px;font-size:var(--zp-text-body)}
.zp-upload{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 22px;border:1px dashed var(--zp-line);border-radius:16px;background:var(--zp-choice-end);color:var(--zp-muted);text-align:center;cursor:pointer}.zp-upload>span:first-child{font-size:30px;line-height:1.2;color:var(--zp-accent)}.zp-upload strong{font-size:var(--zp-text-option);color:var(--zp-ink);font-weight:600}.zp-upload>span{font-size:var(--zp-text-small)}
.zenexa-planner-page .zp-upload input[type=file]{min-height:0;padding:10px;border:0;max-width:100%;font-size:var(--zp-text-small);background:transparent}.zp-upload input::file-selector-button{background:#262051;color:#fff;border:0;border-radius:18px;padding:9px 14px;margin-right:10px;font:inherit;cursor:pointer}.zp-file-list{font-size:var(--zp-text-small);color:var(--zp-muted);overflow-wrap:anywhere;margin-top:16px}
@media(max-width:600px){.zp-top>div{gap:10px}.zp-theme{font-size:11px}.zp-other{font-size:var(--zp-text-small);margin-top:20px}.zp-upload{padding:24px 15px}.zp-upload strong{font-size:var(--zp-text-option)}}.zp-files-clear{font:inherit;font-size:var(--zp-text-small);color:var(--zp-accent);background:none;border:0;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}

/* Same sun/moon artwork and circular control as the homepage. */
.zenexa-planner-page .zp-theme{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:8px;border:1px solid #dce5ef;border-radius:50%;background:#f5f8fc;color:#415675;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.zenexa-planner-page .zp-theme:hover{transform:rotate(12deg);background:#edf3ff;color:#262051}.zp-theme svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html[data-theme=dark] .zenexa-planner-page .zp-theme{background:#142239;border-color:#344761;color:#d0e1fb}
@media(max-width:600px){.zenexa-planner-page .zp-theme{width:32px;height:32px;padding:7px}}
@media(prefers-reduced-motion:reduce){.zenexa-planner-page .zp-theme{transition:none;transform:none}}
