.innoa-planner { background:#f5f2fa; color:#20192e; padding:105px 0; scroll-margin-top:105px; }
body.innoa-neural-page #page { overflow-x:clip; }
body.innoa-neural-page:has(.innoa-planner.ip-in-view) .innoa-header { background:#100c19f5;border-bottom:1px solid #bc91de24;backdrop-filter:blur(14px); }
.innoa-planner [hidden] { display:none!important; }
.ip-intro { display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:48px; }
.innoa-planner h2 { font-size:clamp(38px,4.4vw,66px);line-height:1.05;letter-spacing:-.055em;font-weight:500;margin:18px 0 0; }
.innoa-planner h2 em { color:#7542d5;font-style:normal; }
.ip-intro-copy { max-width:425px;justify-self:end; }
.ip-badge { font-size:10px;letter-spacing:.13em;color:#7542d5; }
.ip-intro-copy p { color:#665a77;font-size:14px;line-height:1.8;margin:15px 0; }
.ip-intro-copy a { font-size:13px;color:#5429a8;display:flex;justify-content:space-between;max-width:250px; }
.ip-workspace { display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start;scroll-margin-top:115px; }
.ip-editor { background:white;border:1px solid #e4dced;border-radius:24px;overflow:hidden;box-shadow:0 12px 50px #38214b05; }
.ip-progress { display:none;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e9e2f1;padding:0 25px;background:#fcfaff; }
.ip-enhanced .ip-progress { display:grid; }
.innoa-planner button { font-family:inherit;cursor:pointer; }
.ip-progress button { background:transparent;color:#8b8099;border:0;border-bottom:2px solid transparent;border-radius:0;padding:24px 5px;font-size:12px;display:flex;align-items:center;gap:9px;justify-content:center; }
.ip-progress button span { font-size:10px;border:1px solid #dcd2e8;border-radius:50%;width:27px;height:27px;display:grid;place-items:center; }
.ip-progress button[aria-current=step] { color:#6434b6;border-bottom-color:#7542d5; }
.ip-progress button[aria-current=step] span { background:#7542d5;border-color:#7542d5;color:white; }
#ip-form { padding:32px; }
#ip-form>fieldset { border:0;padding:0;margin:0;min-width:0; }
#ip-form>fieldset>legend { font-size:25px;letter-spacing:-.035em;font-weight:500;color:#241b32;margin:0 0 8px;padding:0; }
.ip-panel-description { color:#82748e;font-size:12px;line-height:1.7;margin:0 0 26px; }
.ip-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px; }
.ip-wide { grid-column:1/-1; }
.ip-field { display:block;min-width:0;margin:0; }
.ip-field>span { display:block;font-size:11px;color:#635572;font-weight:500;margin-bottom:9px; }
.innoa-planner .ip-field input,.innoa-planner .ip-field select,.innoa-planner .ip-field textarea { width:100%;min-width:0;max-width:100%;border:1px solid #e4ddeb;border-radius:10px;background:#fbf9fd;color:#31253f;padding:12px;font-family:inherit;font-size:12px;line-height:1.6;min-height:48px;box-shadow:none; }
.innoa-planner textarea { resize:vertical; }
.innoa-planner :is(input,select,textarea,button,a):focus-visible { outline:2px solid #885bd8;outline-offset:3px; }
.ip-options { padding:0;border:0;margin:24px 0 0;min-width:0; }
.ip-options legend { padding:0;font-size:12px;margin-bottom:12px;color:#635572; }
.ip-chips { display:flex;flex-wrap:wrap;gap:8px; }
.ip-chips label { position:relative;display:flex;align-items:center;gap:7px;padding:9px 11px;background:#faf8fc;border:1px solid #e7e0ed;border-radius:8px;cursor:pointer;font-size:11px;line-height:1.4; }
.ip-chips label:has(input:checked) { background:#f0e9fc;border-color:#a888df;color:#562d9d; }
.ip-chips input { accent-color:#7542d5;margin:0;flex:none; }
.ip-hint { font-size:11px;color:#8b7d96;line-height:1.7;margin:22px 0 0; }
.ip-navigation { display:flex;align-items:center;gap:14px;margin-top:32px;border-top:1px solid #f0ebf5;padding-top:24px; }
.ip-step-counter { color:#998ba5;font-size:10px;margin-right:auto; }
.innoa-planner :is(.ip-next,.ip-generate,#ip-copy) { border:0;background:#7542d5;color:#fff;border-radius:10px;padding:14px 22px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:12px;min-height:46px; }
.innoa-planner :is(.ip-next,.ip-generate,#ip-copy):hover { background:#5a2cac; }
.innoa-planner :is(.ip-back,.ip-reset,#ip-edit) { background:transparent;color:#80718f;border:0;padding:8px 0;font-size:11px; }
.innoa-planner .ip-reset { display:block;margin-top:10px; }
.ip-summary { background:linear-gradient(145deg,#211332,#100b1b);color:#e9dcfb;border-radius:24px;padding:30px;position:relative;overflow:hidden; }
.ip-summary::before { content:'';position:absolute;width:260px;height:260px;right:-140px;top:70px;border:1px solid #9c6cee33;border-radius:50%;pointer-events:none; }
.ip-summary-orbit { display:grid;place-items:center;width:64px;height:64px;border:1px solid #ae7dea55;border-radius:50%;margin-bottom:30px;background:radial-gradient(circle,#9b59e544,transparent); }
.ip-summary-orbit span { font-size:34px;color:#c8a2ff; }
.ip-summary .innoa-kicker { color:#ab89cf;font-size:9px; }
.ip-summary h3 { font-size:27px;line-height:1.15;letter-spacing:-.04em;color:#f2e8ff;font-weight:400;margin:12px 0 25px; }
.ip-summary dl { margin:0; }
.ip-summary dl>div { border-top:1px solid #ffffff12;padding:14px 0; }
.ip-summary dt { color:#a691b7;font-size:10px;font-weight:400; }
.ip-summary dd { color:#e1d2ef;font-size:12px;line-height:1.6;margin:4px 0 0;overflow-wrap:anywhere; }
.ip-trial { margin-top:16px;padding-top:20px;border-top:1px solid #ffffff1c; }
.ip-trial strong { font-size:14px;font-weight:500; }
.ip-trial p { font-size:11px;line-height:1.7;color:#af9cbe;margin:7px 0; }
.ip-coming { display:inline-block;font-size:8px;letter-spacing:.1em;color:#c9a5f3;border:1px solid #a278d03d;border-radius:4px;padding:3px 7px; }
.ip-price { margin-top:20px;border-top:1px solid #ffffff1c;padding-top:18px; }
.ip-price>span { color:#ab96bc;font-size:11px; }
.ip-price p { margin:5px 0;color:#c1acd4; }
.ip-price strong { color:#f1e8fa;font-size:27px;font-weight:400;letter-spacing:-.04em; }
.ip-price p span { font-size:10px; }
.ip-price small { font-size:9px;color:#af9cbe;line-height:1.7;display:block; }
.ip-result { margin-top:28px;background:#fff;border:1px solid #d8c5f2;padding:32px;border-radius:24px;scroll-margin-top:115px; }
.ip-result-heading { display:flex;justify-content:space-between;align-items:center;gap:20px; }
.ip-result h3 { font-size:27px;letter-spacing:-.04em;margin:8px 0; }
.ip-result-check { display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#eee6f9;color:#7542d5;flex:none; }
.ip-result>p { font-size:12px;color:#80718f;line-height:1.8; }
.ip-result>label { display:block;font-size:11px;color:#80718f;margin:20px 0 8px; }
.ip-result textarea { width:100%;padding:20px;border:1px solid #e5ddec;border-radius:12px;background:#faf8fc;color:#4d3f5d;font-family:inherit;font-size:12px;line-height:1.8; }
.ip-result-actions { display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px;align-items:center; }
#ip-open { background:#f1eafb;color:#693bad;border:1px solid #ded0f0;border-radius:10px;padding:14px 22px;font-size:12px;min-height:46px; }
.ip-account { border-top:1px solid #eee8f4;margin-top:24px;padding-top:18px;font-size:12px;color:#80718f;line-height:1.7; }
.ip-account a { color:#7542d5;margin-right:24px;display:inline-block; }
@media(min-width:1101px){.innoa-neural-page .innoa-nav{gap:22px;}}
@media(max-width:1100px){.ip-workspace{grid-template-columns:minmax(0,1fr) 260px}.ip-summary{padding:24px}.ip-intro{gap:35px}#ip-form{padding:26px}.ip-fields{grid-template-columns:1fr}}
@media(max-width:767px){.innoa-planner{padding:70px 0}.ip-intro{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.ip-intro-copy{justify-self:start;max-width:none}.ip-workspace{grid-template-columns:1fr}.ip-summary{position:static}.ip-summary-orbit{display:none}.ip-summary h3{font-size:23px}.ip-summary dl{display:none}.ip-summary .ip-trial{border:0;padding:0}.ip-progress{padding:0 10px}.ip-progress button{font-size:10px;padding:19px 3px;gap:5px}.ip-progress button span{width:23px;height:23px;font-size:9px}#ip-form{padding:23px 18px}#ip-form>fieldset>legend{font-size:23px}.ip-navigation{gap:10px}.ip-step-counter{font-size:9px}.innoa-planner :is(.ip-next,.ip-generate){padding:13px 16px;gap:12px;font-size:11px}.ip-result{padding:24px 18px}.ip-result h3{font-size:24px}.ip-result-actions{gap:12px}.ip-result-actions button{flex:1;white-space:nowrap}}

/* Keep the planner's decorative orbit from escaping its static mobile card. */
@media(max-width:767px){.ip-summary::before{display:none}}
