/* Meta Ads Campaign Planner — high-fidelity prototype */
.planner-page { background: #fbfbfc; }
.planner-page [hidden] { display: none !important; }
.planner-page button:focus-visible,
.planner-page a:focus-visible,
.planner-page input:focus-visible,
.planner-page select:focus-visible,
.planner-page textarea:focus-visible,
.planner-page summary:focus-visible { outline: 3px solid rgba(0,191,194,.55); outline-offset: 3px; }

.planner-hero { position: relative; overflow: hidden; color: var(--white); background: radial-gradient(circle at 73% 22%, rgba(0,191,194,.2), transparent 25%), linear-gradient(145deg, #260042 0%, #140020 100%); }
.planner-grid-glow { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(circle at 70% 40%, #000, transparent 65%); }
.planner-breadcrumbs { position: relative; z-index: 2; display: flex; gap: 10px; padding-top: 28px; color: #bdb1c4; font-size: .72rem; }
.planner-breadcrumbs a { color: var(--teal); }
.planner-hero-grid { position: relative; z-index: 2; display: grid; gap: 52px; padding: 62px 0 86px; }
.planner-hero-copy { max-width: 720px; }
.planner-hero-copy h1 { max-width: 740px; margin-bottom: 25px; }
.planner-hero-lead { max-width: 670px; margin-bottom: 30px; color: #d3c8d9; font-size: 1.05rem; line-height: 1.65; }
.planner-hero-actions { display: flex; flex-direction: column; gap: 12px; }
.planner-inline-disclaimer { display: flex; align-items: flex-start; gap: 9px; margin: 22px 0 0; color: #a99db1; font-size: .78rem; line-height: 1.5; }
.planner-inline-disclaimer svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; fill: none; stroke: var(--teal); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.planner-hero-visual { position: relative; min-height: 520px; }
.planner-preview-window { position: relative; z-index: 3; overflow: hidden; width: 100%; color: var(--ink); border: 1px solid rgba(255,255,255,.28); border-radius: 18px; background: rgba(253,253,255,.96); box-shadow: 0 40px 90px rgba(0,0,0,.34); transform: perspective(1200px) rotateX(1deg); }
.planner-preview-bar { min-height: 45px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; color: #716b76; border-bottom: 1px solid rgba(38,0,66,.08); background: #f2eff4; font-size: .65rem; }
.planner-preview-bar > div { display: flex; gap: 5px; }
.planner-preview-bar i { width: 7px; height: 7px; border-radius: 50%; background: #cbc5ce; }
.planner-preview-bar i:first-child { background: var(--teal); }
.planner-preview-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 20px 15px; }
.planner-preview-head small, .planner-preview-head strong { display: block; }
.planner-preview-head small { color: #79727e; font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.planner-preview-head strong { color: var(--purple); font-family: "Space Grotesk"; font-size: .98rem; }
.planner-live-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; color: #006e71; border: 1px solid rgba(0,191,194,.22); border-radius: 999px; background: rgba(0,191,194,.1); font-size: .56rem; font-weight: 800; }
.planner-live-badge i { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px rgba(0,191,194,.14); }
.planner-preview-kpis { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; padding: 0 14px; }
.planner-preview-kpis article { min-height: 82px; padding: 12px; border: 1px solid rgba(38,0,66,.09); border-radius: 10px; background: #fff; }
.planner-preview-kpis article.is-primary { color: var(--white); border-color: var(--purple); background: var(--purple); }
.planner-preview-kpis span, .planner-preview-kpis strong, .planner-preview-kpis em { display: block; }
.planner-preview-kpis span { color: #7a7480; font-size: .56rem; font-weight: 700; }
.planner-preview-kpis .is-primary span { color: #c8bdce; }
.planner-preview-kpis strong { margin: 3px 0; color: var(--purple); font-family: "Space Grotesk"; font-size: 1.25rem; }
.planner-preview-kpis .is-primary strong { color: var(--teal); }
.planner-preview-kpis em { color: #8b858e; font-size: .52rem; font-style: normal; }
.planner-preview-kpis .is-primary em { color: #d5cadb; }
.planner-preview-chart { margin: 12px 14px; padding: 13px; border: 1px solid rgba(38,0,66,.09); border-radius: 11px; background: #fff; }
.planner-chart-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; font-size: .58rem; }
.planner-chart-head span { color: var(--purple); font-weight: 800; }
.planner-chart-head small { color: #8d8791; }
.planner-chart-bars { height: 110px; display: flex; align-items: flex-end; justify-content: center; gap: 26px; padding: 8px 10px 0; border-bottom: 1px solid #e8e4ea; }
.planner-chart-bars > div { position: relative; height: 100%; width: 42px; display: flex; justify-content: flex-end; align-items: center; flex-direction: column; }
.planner-chart-bars i { width: 30px; min-height: 18px; border-radius: 6px 6px 0 0; background: #d9f5f4; }
.planner-chart-bars .is-base i { background: var(--teal); box-shadow: 0 7px 18px rgba(0,191,194,.2); }
.planner-chart-bars span { margin-top: 5px; color: #817b86; font-size: .5rem; }
.planner-chart-bars b { position: absolute; top: -2px; color: var(--purple); font-size: .58rem; }
.planner-preview-quality { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; align-items: center; margin: 0 14px 16px; padding: 11px 13px; border-radius: 10px; background: #f3f0f5; }
.planner-preview-quality span, .planner-preview-quality b { font-size: .54rem; }
.planner-preview-quality span { color: #726b77; }
.planner-preview-quality b { grid-column: 1 / -1; color: var(--purple); }
.planner-preview-quality div { height: 5px; overflow: hidden; border-radius: 999px; background: #dfd9e3; }
.planner-preview-quality i { display: block; height: 100%; border-radius: inherit; background: var(--teal); }
.planner-float-card { position: absolute; z-index: 5; display: none; align-items: center; gap: 10px; padding: 12px 14px; color: var(--purple); border: 1px solid rgba(0,191,194,.3); border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 18px 45px rgba(7,0,13,.2); }
.planner-float-card > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--teal); font-weight: 900; }
.planner-float-card p, .planner-float-card b { margin: 0; }
.planner-float-card b { display: block; font-size: .67rem; }
.planner-float-card p { color: #766f7a; font-size: .54rem; line-height: 1.35; }
.planner-float-top { top: 50px; right: -14px; transform: translateY(-50%); }
.planner-float-bottom { left: -20px; bottom: 16px; transform: translateY(30%); }

.planner-value-strip { color: var(--white); border-top: 1px solid rgba(255,255,255,.08); background: #140020; }
.planner-value-strip .container { display: grid; grid-template-columns: repeat(2, 1fr); }
.planner-value-strip .container > div { min-height: 95px; padding: 18px 10px; border-bottom: 1px solid rgba(255,255,255,.08); }
.planner-value-strip span { color: var(--teal); font-family: "Space Grotesk"; font-size: 14px; font-weight: 700; }
.planner-value-strip p { margin: 5px 0 0; color: #bfb4c5; font-size: 14px; line-height: 1.4; }
.planner-value-strip b { color: var(--white); }

.planner-section-heading { max-width: 840px; margin-bottom: 48px; }
.planner-section-heading > p:not(.eyebrow) { max-width: 660px; color: var(--muted); }
.planner-section-heading.centered { margin-inline: auto; text-align: center; }
.planner-section-heading.centered .eyebrow { justify-content: center; }
.planner-problem { background: #fbfbfc; }
.planner-problem-grid { display: grid; gap: 14px; }
.planner-problem-grid article { position: relative; min-height: 275px; padding: 26px; overflow: hidden; border: 1px solid rgba(38,0,66,.11); border-radius: 16px; background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.planner-problem-grid article:hover { transform: translateY(-5px); border-color: rgba(0,191,194,.55); box-shadow: 0 22px 55px rgba(38,0,66,.1); }
.planner-problem-grid article > span { position: absolute; top: 20px; right: 22px; color: #a49fa7; font-size: .66rem; font-weight: 800; }
.planner-card-icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 38px; color: var(--purple); border-radius: 15px; background: #daf6f5; font-family: "Space Grotesk"; font-size: 1.25rem; font-weight: 800; }
.planner-problem-grid h3 { color: var(--purple); font-size: 1.35rem; }
.planner-problem-grid p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }

.planner-capabilities { color: var(--white); background: radial-gradient(circle at 12% 10%, rgba(0,191,194,.13), transparent 24%), linear-gradient(155deg, #260042, #150021); }
.planner-capabilities .split-heading > p { color: #c1b5c7; }
.planner-capability-grid { display: grid; gap: 14px; margin-top: 48px; }
.planner-capability-grid article { min-height: 300px; padding: 25px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.035); transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.planner-capability-grid article:hover { transform: translateY(-4px); border-color: rgba(0,191,194,.55); background: rgba(255,255,255,.06); }
.planner-capability-grid small { display: block; margin: 34px 0 12px; color: var(--teal); font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.planner-capability-grid h3 { font-size: 1.35rem; }
.planner-capability-grid p { margin: 0; color: #c2b7c8; font-size: .86rem; }
.planner-line-icon, .planner-funnel-icon, .planner-scenario-icon, .planner-economy-icon { width: 54px; height: 54px; display: flex; align-items: flex-end; justify-content: center; gap: 5px; padding: 11px; color: var(--purple); border-radius: 14px; background: var(--teal); }
.planner-line-icon span { width: 7px; border-radius: 4px; background: var(--purple); }
.planner-line-icon span:nth-child(1) { height: 15px; }.planner-line-icon span:nth-child(2) { height: 26px; }.planner-line-icon span:nth-child(3) { height: 20px; }
.planner-funnel-icon { flex-direction: column; align-items: center; }
.planner-funnel-icon span { height: 5px; border-radius: 3px; background: var(--purple); }.planner-funnel-icon span:nth-child(1) { width: 32px; }.planner-funnel-icon span:nth-child(2) { width: 22px; }.planner-funnel-icon span:nth-child(3) { width: 11px; }
.planner-scenario-icon i { width: 8px; border: 2px solid var(--purple); border-radius: 3px 3px 0 0; }.planner-scenario-icon i:nth-child(1) { height: 15px; }.planner-scenario-icon i:nth-child(2) { height: 29px; background: var(--purple); }.planner-scenario-icon i:nth-child(3) { height: 22px; }
.planner-economy-icon { position: relative; align-items: center; font-family: "Space Grotesk"; font-size: 1.35rem; font-weight: 800; }.planner-economy-icon span { position: absolute; top: 7px; right: 8px; font-size: .75rem; }

.planner-how { background: #fff; }
.planner-steps { display: grid; gap: 12px; }
.planner-steps article { display: grid; grid-template-columns: 58px 1fr; gap: 16px; padding: 24px 0; border-top: 1px solid var(--line); }
.planner-steps article:last-child { border-bottom: 1px solid var(--line); }
.planner-steps > article > span { display: grid; place-items: center; width: 48px; height: 48px; color: var(--purple); border: 1px solid rgba(0,191,194,.38); border-radius: 50%; background: #daf6f5; font-family: "Space Grotesk"; font-size: .8rem; font-weight: 800; }
.planner-steps h3 { margin: 2px 0 7px; color: var(--purple); font-size: 1.22rem; }
.planner-steps p { margin: 0; color: var(--muted); font-size: .86rem; }

.planner-method { color: var(--white); background: #160023; }
.planner-method-grid { display: grid; gap: 46px; }
.planner-method-copy > p:not(.eyebrow) { color: #bfb3c6; }
.planner-method-copy ul { display: grid; gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; }
.planner-method-copy li { position: relative; padding: 14px 14px 14px 46px; color: #d9d0de; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; font-size: .82rem; }
.planner-method-copy li::before { content: "✓"; position: absolute; top: 13px; left: 15px; display: grid; place-items: center; width: 20px; height: 20px; color: var(--purple); border-radius: 50%; background: var(--teal); font-weight: 900; }
.planner-method-map { position: relative; display: grid; gap: 12px; padding: 22px; border: 1px solid rgba(0,191,194,.25); border-radius: 20px; background: radial-gradient(circle at 50% 50%, rgba(0,191,194,.12), transparent 45%), rgba(255,255,255,.035); }
.planner-source-card { padding: 18px; color: var(--purple); border-radius: 13px; background: #fff; box-shadow: 0 18px 35px rgba(0,0,0,.14); }
.planner-source-card span, .planner-source-card strong, .planner-source-card small { display: block; }
.planner-source-card span { color: var(--teal-deep); font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.planner-source-card strong { margin: 6px 0 2px; font-family: "Space Grotesk"; font-size: 1.15rem; }
.planner-source-card small { color: #7e7782; font-size: .66rem; }
.planner-output-card { color: var(--white); background: var(--purple); }.planner-output-card strong { color: var(--teal); }.planner-output-card small { color: #c5bacb; }
.planner-method-connector { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; color: var(--teal); font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; }
.planner-method-connector i { height: 1px; background: rgba(0,191,194,.5); }

.planner-audience { background: #daf6f5; }
.planner-audience-shell { display: grid; gap: 34px; padding: 32px; border-radius: 20px; background: rgba(255,255,255,.72); box-shadow: 0 24px 70px rgba(38,0,66,.08); }
.planner-audience-shell p:not(.eyebrow) { color: var(--muted); }
.planner-audience-tags { display: flex; flex-wrap: wrap; gap: 9px; align-content: center; }
.planner-audience-tags span { padding: 10px 13px; color: var(--purple); border: 1px solid rgba(38,0,66,.13); border-radius: 999px; background: #deebf7; font-size: 14px; font-weight: 800; }
.planner-audience-tags span:nth-child(3n+2) { background: #b0f6f6; }
.planner-audience-tags span:nth-child(3n) { background: #f2f2f2; }

.planner-preview-section { background: #fff; }
.planner-preview-grid { display: grid; gap: 46px; align-items: center; }
.planner-preview-copy > p:not(.eyebrow) { color: var(--muted); }
.planner-preview-copy .btn { margin-top: 18px; }
.planner-preview-panel { padding: 22px; border: 1px solid rgba(38,0,66,.1); border-radius: 20px; background: #faf9fb; box-shadow: 0 28px 70px rgba(38,0,66,.13); }
.planner-mini-tabs { display: flex; gap: 7px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.planner-mini-tabs span, .planner-mini-tabs b { padding: 7px 10px; border-radius: 8px; font-size: .65rem; }
.planner-mini-tabs b { color: var(--purple); background: #daf6f5; }
.planner-mini-tabs span { color: #7f7883; }
.planner-mini-score { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 18px 0; padding: 18px; color: var(--white); border-radius: 14px; background: var(--purple); }
.planner-mini-score small, .planner-mini-score strong, .planner-mini-score em { display: block; }
.planner-mini-score small { color: #c4b8ca; font-size: .65rem; }.planner-mini-score strong { margin: 3px 0; color: var(--teal); font-size: 1.8rem; }.planner-mini-score em { color: #b6aabc; font-size: .6rem; font-style: normal; }
.planner-mini-score > span { padding: 8px 10px; color: var(--purple); border-radius: 999px; background: var(--teal); font-size: .68rem; font-weight: 900; }
.planner-mini-funnel { display: grid; gap: 10px; }
.planner-mini-funnel > div { display: grid; grid-template-columns: 78px 1fr 42px; align-items: center; gap: 8px; font-size: .6rem; }
.planner-mini-funnel i { height: 7px; overflow: hidden; border-radius: 99px; background: #e9e5eb; }.planner-mini-funnel b { display: block; height: 100%; border-radius: inherit; background: var(--teal); }
.planner-mini-funnel em { text-align: right; color: var(--purple); font-style: normal; font-weight: 800; }
.planner-preview-panel > p { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; padding-top: 14px; color: #77717b; border-top: 1px solid var(--line); font-size: .62rem; }.planner-preview-panel > p span { display: grid; place-items: center; width: 18px; height: 18px; color: var(--purple); border-radius: 50%; background: var(--teal); font-weight: 900; }

.planner-privacy { padding: 90px 0; color: var(--white); background: radial-gradient(circle at 8% 30%, rgba(0,191,194,.16), transparent 30%), var(--purple); }
.planner-privacy-grid { display: grid; gap: 42px; }
.planner-privacy-grid > div:first-child > p:not(.eyebrow) { color: #c5bacb; }
.planner-privacy-points { display: grid; gap: 8px; }
.planner-privacy-points p { display: grid; grid-template-columns: 30px 1fr; gap: 11px; align-items: center; margin: 0; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: rgba(255,255,255,.035); font-size: 14px; }
.planner-privacy-points span { display: grid; place-items: center; width: 25px; height: 25px; color: var(--purple); border-radius: 50%; background: var(--teal); font-weight: 900; }

.planner-faq { background: #fbfbfc; }
.planner-faq-grid { display: grid; gap: 34px; }
.planner-faq-list { border-top: 1px solid var(--line); }
.planner-faq-list details { border-bottom: 1px solid var(--line); }
.planner-faq-list summary { display: flex; justify-content: space-between; gap: 16px; padding: 21px 0; color: var(--purple); cursor: pointer; font-family: "Space Grotesk"; font-size: 1rem; font-weight: 700; list-style: none; }
.planner-faq-list summary::-webkit-details-marker { display: none; }
.planner-faq-list summary span { transition: transform .2s ease; }
.planner-faq-list details[open] summary span { transform: rotate(45deg); }
.planner-faq-list details p { max-width: 750px; margin: -4px 0 22px; color: var(--muted); font-size: .86rem; }
.planner-final-cta { padding: 95px 0; color: var(--white); text-align: center; background: linear-gradient(135deg, #140020, #260042 60%, #34104d); }
.planner-final-cta .eyebrow { justify-content: center; }
.planner-final-cta h2 { max-width: 920px; margin-inline: auto; }
.planner-final-cta > .container > p:not(.eyebrow) { max-width: 680px; margin: 0 auto 28px; color: #c4b8ca; }

/* Application shell */
.planner-app-section { min-height: calc(100vh - 82px); padding: 0; color: #22172a; background: #eef2f3; }
.planner-page.planner-is-open .site-header,
.planner-page.planner-is-open .site-footer,
.planner-page.planner-is-open .whatsapp-float { display: none; }
.planner-app-shell { min-height: 100vh; display: flex; flex-direction: column; }
.planner-app-header { position: sticky; z-index: 60; top: 0; min-height: 72px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; padding: 10px 16px; color: var(--purple); border-bottom: 1px solid rgba(38,0,66,.09); background: rgba(255,255,255,.96); backdrop-filter: blur(16px); }
.planner-app-brand { display: flex; align-items: center; gap: 9px; }
.planner-app-brand img { width: 40px; height: 40px; object-fit: contain; }
.planner-app-brand b, .planner-app-brand small { display: block; line-height: 1.1; }.planner-app-brand b { font-family: "Space Grotesk"; font-size: .76rem; }.planner-app-brand small { color: #7a7380; font-size: .61rem; }
.planner-progress-wrap { min-width: 0; max-width: 440px; width: 100%; margin-inline: auto; }
.planner-progress-wrap > div:first-child { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 5px; font-size: .62rem; }
.planner-progress-wrap span { color: var(--purple); font-weight: 800; }.planner-progress-wrap em { color: #817a85; font-style: normal; }
.planner-progress { height: 5px; overflow: hidden; border-radius: 99px; background: #e4dfe7; }.planner-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--teal), #52e1df); transition: width .35s ease; }
.planner-app-tools { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.planner-app-tools > button { min-height: 38px; padding: 7px 8px; color: #746d79; border: 0; border-radius: 8px; background: transparent; font-size: .62rem; font-weight: 800; }
.planner-app-tools > button:hover { color: var(--purple); background: #edf7f7; }
.planner-app-tools .planner-app-close { width: 38px; padding: 0; color: var(--purple); font-size: 1.5rem; }
.planner-app-layout { flex: 1; width: min(100% - 24px, 1440px); display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 16px auto 92px; }
.planner-app-layout.is-intro { grid-template-columns: minmax(0, 1fr); }
.planner-app-layout.is-intro .planner-screen { grid-column: 1 / -1; }
.planner-step-nav { display: none; }
.planner-screen { min-width: 0; }
.planner-live-summary { display: none; }
.planner-app-footer { position: fixed; z-index: 55; right: 0; bottom: 0; left: 0; min-height: 72px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(38,0,66,.1); background: rgba(255,255,255,.97); box-shadow: 0 -16px 42px rgba(38,0,66,.08); backdrop-filter: blur(16px); }
.planner-app-footer p { display: none; margin: 0; color: #77707b; font-size: .64rem; text-align: center; }
.planner-app-footer .btn { min-height: 48px; padding: 11px 14px; }
.planner-back { color: var(--purple); border-color: rgba(38,0,66,.18); background: #fff; box-shadow: none; }
.planner-back:hover { color: var(--purple); border-color: var(--teal); background: #f1fbfb; }
.planner-screen-card { overflow: hidden; border: 1px solid rgba(38,0,66,.09); border-radius: 18px; background: #fff; box-shadow: 0 18px 55px rgba(38,0,66,.08); }
.planner-screen-inner { padding: 25px 18px 30px; }
.planner-screen-kicker { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; color: var(--teal-deep); font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.planner-screen-kicker::before { content: ""; width: 18px; height: 2px; background: var(--teal); }
.planner-step-heading { margin-bottom: 26px; }
.planner-step-heading h1 { max-width: 760px; margin-bottom: 12px; color: var(--purple); font-size: clamp(2rem, 8vw, 3.15rem); }
.planner-step-heading p { max-width: 730px; margin: 0; color: #6f6874; font-size: .9rem; }

.planner-intro { max-width: 930px; margin: 0 auto; }
.planner-intro .planner-screen-inner { padding-block: 42px; }
.planner-intro-heading { max-width: 720px; margin: 0 auto 35px; text-align: center; }
.planner-intro-heading .planner-screen-kicker { justify-content: center; }
.planner-intro-heading h1 { margin-inline: auto; }
.planner-intro-heading > p { color: #6f6874; }
.planner-mode-title { margin-bottom: 14px; color: var(--purple); font-size: .88rem; font-weight: 800; text-align: center; }
.planner-mode-grid { display: grid; gap: 12px; }
.planner-mode-card { position: relative; display: grid; grid-template-columns: 26px 1fr; gap: 14px; min-height: 145px; padding: 21px; color: var(--purple); border: 1px solid rgba(38,0,66,.14); border-radius: 14px; background: #fff; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.planner-mode-card:hover { transform: translateY(-3px); border-color: rgba(0,191,194,.6); box-shadow: 0 17px 35px rgba(38,0,66,.08); }
.planner-mode-card.is-selected { border-color: var(--teal); background: #edfbfb; box-shadow: 0 0 0 3px rgba(0,191,194,.12); }
.planner-mode-card input { width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--teal-deep); }
.planner-mode-card h2 { margin: 0 0 8px; font-size: 1.25rem; }
.planner-mode-card p { margin: 0; color: #706974; font-size: .8rem; }
.planner-intro-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
.planner-intro-note { margin: 20px 0 0; color: #7a737e; font-size: .68rem; text-align: center; }

.planner-form-grid { display: grid; gap: 16px; }
.planner-field { display: grid; gap: 7px; }
.planner-field > span, .planner-fieldset legend { color: var(--purple); font-size: .75rem; font-weight: 800; }
.planner-field > span small, .planner-required, .planner-optional { margin-left: 5px; color: #8a838d; font-size: .58rem; font-weight: 700; }
.planner-field input, .planner-field select, .planner-field textarea { width: 100%; min-height: 50px; padding: 12px 13px; color: #24172c; border: 1px solid rgba(38,0,66,.17); border-radius: 10px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.planner-input-wrap { position: relative; }
.planner-input-wrap input { padding-right: 58px; }
.planner-input-unit { position: absolute; top: 50%; right: 13px; color: #746d79; font-size: .67rem; font-weight: 800; transform: translateY(-50%); pointer-events: none; }
.planner-field textarea { min-height: 95px; resize: vertical; }
.planner-field input:hover, .planner-field select:hover, .planner-field textarea:hover { border-color: rgba(0,191,194,.65); }
.planner-field input:focus, .planner-field select:focus, .planner-field textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 4px rgba(0,191,194,.1); outline: 0; }
.planner-field small, .planner-field-help { color: #7d7681; font-size: .64rem; line-height: 1.45; }
.planner-field-error { margin: 1px 0 0; color: #b42335 !important; font-weight: 800; }
.planner-field input[aria-invalid="true"], .planner-field select[aria-invalid="true"] { border-color: #c5374b; }
.planner-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.planner-choice-grid { display: grid; gap: 9px; margin-top: 9px; }
.planner-choice { position: relative; display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: flex-start; min-height: 72px; padding: 14px; border: 1px solid rgba(38,0,66,.13); border-radius: 11px; background: #fff; cursor: pointer; }
.planner-choice:has(input:checked) { border-color: var(--teal); background: #f0fbfb; box-shadow: 0 0 0 2px rgba(0,191,194,.09); }
.planner-choice input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--teal-deep); }
.planner-choice b, .planner-choice small { display: block; }.planner-choice b { color: var(--purple); font-size: .75rem; }.planner-choice small { margin-top: 3px; color: #7a737e; font-size: .62rem; }
.planner-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; padding: 16px; border: 1px solid rgba(38,0,66,.11); border-radius: 12px; background: #f7f5f8; }
.planner-toggle-row b, .planner-toggle-row small { display: block; }.planner-toggle-row b { color: var(--purple); font-size: .78rem; }.planner-toggle-row small { color: #7b7480; font-size: .62rem; }
.planner-switch { position: relative; flex: 0 0 auto; width: 48px; height: 27px; }
.planner-switch input { position: absolute; opacity: 0; }.planner-switch i { position: absolute; inset: 0; border-radius: 99px; background: #cec8d1; transition: background .2s ease; }.planner-switch i::after { content: ""; position: absolute; top: 4px; left: 4px; width: 19px; height: 19px; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(0,0,0,.22); transition: transform .2s ease; }.planner-switch input:checked + i { background: var(--teal); }.planner-switch input:checked + i::after { transform: translateX(21px); }
.planner-subpanel { margin-top: 16px; padding: 18px; border: 1px solid rgba(0,191,194,.26); border-radius: 13px; background: #f0fbfb; }
.planner-subpanel > h2 { margin-bottom: 16px; color: var(--purple); font-size: 1.1rem; }
.planner-subpanel summary { color: var(--purple); cursor: pointer; font-size: .78rem; }
.planner-glossary-mini { display: grid; gap: 8px; margin-top: 15px; }
.planner-glossary-mini p { margin: 0; color: #6f6874; font-size: .67rem; }
.planner-data-note { display: flex; gap: 10px; margin-top: 16px; padding: 13px 14px; color: #4f4855; border-left: 3px solid var(--teal); border-radius: 8px; background: #f1fbfb; font-size: .67rem; }
.planner-data-note > span { color: var(--teal-deep); font-weight: 900; }
.planner-advanced-field { display: none; }.planner-mode-advanced .planner-advanced-field { display: grid; }

.planner-campaign-toolbar { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.planner-campaign-toolbar h2 { margin: 0 0 4px; color: var(--purple); font-size: 1.18rem; }
.planner-campaign-toolbar > p { margin: 0; color: #746d79; font-size: .72rem; }
.planner-campaign-list { display: grid; gap: 11px; }
.planner-campaign-card { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; padding: 17px; border: 1px solid rgba(38,0,66,.12); border-radius: 13px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.planner-campaign-card.is-active { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,191,194,.09); }
.planner-campaign-card h3 { margin: 0 0 6px; color: var(--purple); font-size: 1rem; }.planner-campaign-card p { margin: 0; color: #78717c; font-size: .65rem; }.planner-campaign-card strong { display: block; margin-top: 4px; color: var(--teal-deep); font-size: .73rem; }
.planner-campaign-main { min-width: 0; padding: 0; border: 0; background: transparent; text-align: left; }
.planner-campaign-card-actions { display: flex; gap: 4px; }.planner-icon-button { min-width: 38px; min-height: 38px; padding: 7px; color: var(--purple); border: 1px solid rgba(38,0,66,.12); border-radius: 8px; background: #fff; font-size: .72rem; font-weight: 800; }.planner-icon-button:hover { border-color: var(--teal); background: #effafa; }.planner-icon-button.is-danger:hover { color: #a8142c; border-color: rgba(168,20,44,.3); background: #fff4f5; }
.planner-campaign-editor { margin-top: 16px; padding: 19px; border: 1px solid rgba(38,0,66,.1); border-radius: 14px; background: #faf9fb; }.planner-campaign-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 18px; }.planner-campaign-editor-head h2 { margin: 0; color: var(--purple); font-size: 1.15rem; }.planner-campaign-editor-head span { color: #77707b; font-size: .62rem; }
.planner-add-button { min-height: 44px; padding: 10px 15px; color: var(--purple); border: 1px dashed rgba(0,191,194,.7); border-radius: 10px; background: #effafa; font-size: .73rem; font-weight: 800; }
.planner-add-button:disabled { cursor: not-allowed; opacity: .45; }

.planner-method-options { display: grid; gap: 12px; }
.planner-method-card { position: relative; min-height: 145px; display: grid; grid-template-columns: 23px 1fr; gap: 13px; padding: 20px; border: 1px solid rgba(38,0,66,.14); border-radius: 14px; background: #fff; cursor: pointer; }
.planner-method-card:has(input:checked) { border-color: var(--teal); background: #effafa; box-shadow: 0 0 0 3px rgba(0,191,194,.09); }
.planner-method-card input { width: 18px; height: 18px; accent-color: var(--teal-deep); }.planner-method-card h2 { margin: 0 0 7px; color: var(--purple); font-size: 1.08rem; }.planner-method-card p { margin: 0; color: #746d79; font-size: .72rem; }
.planner-assumption-grid { display: grid; gap: 16px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.planner-source-badge { display: inline-flex; width: fit-content; align-items: center; gap: 6px; padding: 5px 8px; color: #006f72; border-radius: 99px; background: #daf6f5; font-size: .56rem; font-weight: 900; }

.planner-scenario-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 18px; padding: 5px; border-radius: 11px; background: #efebf1; }
.planner-scenario-tabs button { min-height: 42px; padding: 8px; color: #746c79; border: 0; border-radius: 8px; background: transparent; font-size: .68rem; font-weight: 800; }.planner-scenario-tabs button.is-active { color: var(--purple); background: #fff; box-shadow: 0 5px 14px rgba(38,0,66,.09); }.planner-scenario-tabs button[data-scenario="base"].is-active { background: #daf6f5; }
.planner-scenario-card { padding: 18px; border: 1px solid rgba(38,0,66,.1); border-radius: 14px; background: #faf9fb; }.planner-scenario-card > p { color: #756e79; font-size: .7rem; }
.planner-range-row { display: grid; gap: 7px; margin-bottom: 17px; }.planner-range-row > div { display: flex; justify-content: space-between; gap: 12px; color: var(--purple); font-size: .72rem; font-weight: 800; }.planner-range-row input { width: 100%; accent-color: var(--teal-deep); }.planner-range-row small { color: #77707c; font-size: .61rem; }
.planner-scenario-preview { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 16px; }.planner-scenario-preview div { padding: 13px; border-radius: 9px; background: #fff; }.planner-scenario-preview span, .planner-scenario-preview strong { display: block; }.planner-scenario-preview span { color: #7d7681; font-size: .57rem; }.planner-scenario-preview strong { margin-top: 4px; color: var(--purple); font-family: "Space Grotesk"; font-size: 1rem; }

.planner-dashboard-head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; }.planner-dashboard-head .planner-step-heading { margin: 0; }.planner-dashboard-controls { display: flex; gap: 8px; }.planner-dashboard-controls select { min-height: 42px; padding: 8px 12px; color: var(--purple); border: 1px solid rgba(38,0,66,.16); border-radius: 9px; background: #fff; font-weight: 800; }
.planner-result-disclaimer { display: flex; gap: 9px; margin: 0 0 18px; padding: 13px 14px; color: #5f5765; border: 1px solid rgba(0,191,194,.2); border-radius: 10px; background: #edfbfb; font-size: .66rem; }.planner-result-disclaimer span { color: var(--teal-deep); font-weight: 900; }
.planner-kpi-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.planner-kpi-card { min-height: 112px; padding: 16px; border: 1px solid rgba(38,0,66,.1); border-radius: 12px; background: #fff; }.planner-kpi-card.is-featured { color: var(--white); border-color: var(--purple); background: var(--purple); }.planner-kpi-card span, .planner-kpi-card strong, .planner-kpi-card small { display: block; }.planner-kpi-card span { color: #766f7a; font-size: .61rem; font-weight: 700; }.planner-kpi-card.is-featured span, .planner-kpi-card.is-featured small { color: #c7bbcd; }.planner-kpi-card strong { margin: 7px 0 4px; color: var(--purple); font-family: "Space Grotesk"; font-size: 1.45rem; line-height: 1; }.planner-kpi-card.is-featured strong { color: var(--teal); }.planner-kpi-card small { color: #8a838d; font-size: .55rem; }
.planner-result-tabs { display: flex; gap: 5px; overflow-x: auto; margin: 20px 0 14px; padding: 5px; border-radius: 10px; background: #efebf1; scrollbar-width: none; }.planner-result-tabs::-webkit-scrollbar { display: none; }.planner-result-tabs button { flex: 0 0 auto; min-height: 40px; padding: 8px 11px; color: #746d79; border: 0; border-radius: 7px; background: transparent; font-size: .64rem; font-weight: 800; }.planner-result-tabs button.is-active { color: var(--purple); background: #fff; box-shadow: 0 4px 12px rgba(38,0,66,.08); }
.planner-result-panel { padding: 18px; border: 1px solid rgba(38,0,66,.1); border-radius: 14px; background: #faf9fb; }.planner-result-panel h2 { margin-bottom: 15px; color: var(--purple); font-size: 1.18rem; }.planner-result-panel > p { color: #716a75; font-size: .7rem; }
.planner-funnel-chart { display: grid; gap: 10px; }.planner-funnel-chart > div { display: grid; grid-template-columns: 82px 1fr 48px; align-items: center; gap: 9px; color: #716a76; font-size: .62rem; }.planner-funnel-chart i { height: 11px; overflow: hidden; border-radius: 99px; background: #e2dde5; }.planner-funnel-chart b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--purple), var(--teal)); }.planner-funnel-chart strong { color: var(--purple); font-size: .64rem; text-align: right; }
.planner-comparison { display: grid; gap: 10px; }.planner-comparison article { padding: 16px; border: 1px solid rgba(38,0,66,.1); border-radius: 11px; background: #fff; }.planner-comparison article.is-base { border-color: var(--teal); background: #edfbfb; }.planner-comparison header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 12px; }.planner-comparison h3 { margin: 0; color: var(--purple); font-size: 1rem; }.planner-comparison header span { color: var(--teal-deep); font-size: .62rem; font-weight: 900; }.planner-comparison dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; }.planner-comparison dl div { padding-top: 8px; border-top: 1px solid var(--line); }.planner-comparison dt { color: #807984; font-size: .56rem; }.planner-comparison dd { margin: 2px 0 0; color: var(--purple); font-weight: 800; font-size: .75rem; }
.planner-quality { display: grid; gap: 12px; }.planner-quality-row { display: grid; grid-template-columns: 105px 1fr 38px; align-items: center; gap: 8px; font-size: .62rem; }.planner-quality-row i { height: 8px; overflow: hidden; border-radius: 99px; background: #e3dee6; }.planner-quality-row b { display: block; height: 100%; border-radius: inherit; background: var(--teal); }.planner-quality-row strong { color: var(--purple); text-align: right; }
.planner-target-card { margin-top: 14px; padding: 16px; color: var(--white); border-radius: 12px; background: var(--purple); }.planner-target-card span, .planner-target-card strong, .planner-target-card em { display: block; }.planner-target-card span { color: #c7bbcd; font-size: .63rem; }.planner-target-card strong { margin: 5px 0; color: var(--teal); font-size: 1.25rem; }.planner-target-card small { color: #c2b6c8; font-size: .61rem; }.planner-target-card em { margin-top: 12px; padding-top: 10px; color: #f7f7f7; border-top: 1px solid rgba(255,255,255,.14); font-size: .64rem; font-style: normal; font-weight: 800; }
.planner-dashboard-cta { display: flex; flex-direction: column; gap: 9px; margin-top: 18px; }

.planner-sensitivity-grid { display: grid; gap: 16px; }.planner-sensitivity-control { padding: 18px; border: 1px solid rgba(38,0,66,.1); border-radius: 14px; background: #faf9fb; }.planner-sensitivity-result { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 16px; }.planner-sensitivity-result div { padding: 14px; border-radius: 9px; background: #fff; }.planner-sensitivity-result span, .planner-sensitivity-result strong { display: block; }.planner-sensitivity-result span { color: #7c7580; font-size: .56rem; }.planner-sensitivity-result strong { margin-top: 4px; color: var(--purple); font-size: .9rem; }
.planner-sensitivity-grid section > h2 { margin-bottom: 16px; color: var(--purple); font-size: 1.2rem; }
.planner-insight-list { display: grid; gap: 10px; }.planner-insight-card { padding: 16px; border: 1px solid rgba(38,0,66,.1); border-left: 4px solid #d9d3dc; border-radius: 11px; background: #fff; }.planner-insight-card.is-critical { border-left-color: #c8354a; }.planner-insight-card.is-warning { border-left-color: #d68b1c; }.planner-insight-card.is-positive { border-left-color: var(--teal-deep); }.planner-insight-card > span { color: #817a84; font-size: .55rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.planner-insight-card h3 { margin: 6px 0 8px; color: var(--purple); font-size: .95rem; }.planner-insight-card p { margin: 0 0 8px; color: #746d78; font-size: .66rem; }.planner-insight-card b { color: var(--purple); font-size: .65rem; }

.planner-report-grid { display: grid; gap: 18px; }.planner-report-summary { padding: 20px; color: var(--white); border-radius: 15px; background: var(--purple); }.planner-report-summary > span { color: var(--teal); font-size: .61rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.planner-report-summary h2 { margin: 8px 0 18px; font-size: 1.4rem; }.planner-report-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }.planner-report-metrics div { padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: rgba(255,255,255,.05); }.planner-report-metrics span, .planner-report-metrics strong { display: block; }.planner-report-metrics span { color: #c6bacd; font-size: .55rem; }.planner-report-metrics strong { margin-top: 3px; color: var(--teal); font-size: 1rem; }
.planner-report-form { position: relative; padding: 20px; border: 1px solid rgba(38,0,66,.1); border-radius: 15px; background: #faf9fb; }.planner-report-form h2 { margin-bottom: 9px; color: var(--purple); font-size: 1.4rem; }.planner-report-form > p { color: #716a75; font-size: .7rem; }.planner-consent { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; margin-top: 16px; color: #625a67; font-size: .72rem; line-height: 1.55; }.planner-consent input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--teal-deep); }.planner-consent a { color: var(--teal-deep); text-decoration: underline; }.planner-marketing-consent { margin-top: 10px; }.planner-report-form .btn { width: 100%; margin-top: 17px; }.planner-report-form .btn:disabled { cursor: wait; opacity: .58; }.planner-report-status { min-height: 20px; margin: 10px 0 0; color: #77707b; font-size: .72rem; line-height: 1.45; }.planner-report-status.is-error { color: #b42335; }.planner-report-status.is-success { color: #006f72; font-weight: 800; }
.planner-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.planner-security-block { display: grid; gap: 8px; margin-top: 16px; padding: 14px; border: 1px solid rgba(0,191,194,.35); border-radius: 11px; background: #effafa; }.planner-security-block .turnstile-slot { min-height: 65px; }.planner-security-block .turnstile-slot[hidden] { display: none; min-height: 0; }.planner-security-block p { margin: 0; color: #625a67; font-size: .72rem; line-height: 1.45; }.planner-security-block p[data-state="ready"] { color: #006f72; font-weight: 800; }.planner-security-block p[data-state="error"] { color: #b42335; }.planner-security-retry { width: fit-content; padding: 5px 0; color: var(--purple); border: 0; border-bottom: 1px solid currentColor; background: transparent; font-size: .72rem; font-weight: 800; }.planner-security-demo { margin-top: 16px; padding: 12px 14px; color: #006f72; border: 1px dashed rgba(0,191,194,.7); border-radius: 10px; background: #effafa; font-size: .72rem; font-weight: 800; }
.planner-report-ready { padding: 45px 20px; text-align: center; }.planner-ready-icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 18px; color: var(--purple); border-radius: 50%; background: var(--teal); font-size: 2rem; font-weight: 900; box-shadow: 0 14px 35px rgba(0,191,194,.25); }.planner-report-ready h1 { margin-inline: auto; color: var(--purple); }.planner-report-ready p { max-width: 570px; margin: 0 auto 24px; color: #6f6874; }.planner-ready-actions { display: flex; flex-direction: column; gap: 9px; justify-content: center; margin-top: 24px; }.planner-ready-note { margin-top: 18px !important; font-size: .64rem; }

.planner-step-nav-inner { position: sticky; top: 96px; padding: 15px; border: 1px solid rgba(38,0,66,.09); border-radius: 15px; background: #fff; box-shadow: 0 15px 40px rgba(38,0,66,.06); }.planner-step-nav-inner > small { display: block; margin: 0 0 13px 8px; color: #8a838e; font-size: .56rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.planner-step-nav button { width: 100%; display: grid; grid-template-columns: 27px 1fr; gap: 9px; align-items: center; padding: 9px 8px; color: #7a7380; border: 0; border-radius: 9px; background: transparent; text-align: left; font-size: .64rem; font-weight: 800; }.planner-step-nav button span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid rgba(38,0,66,.12); border-radius: 50%; background: #fff; font-size: .55rem; }.planner-step-nav button.is-active { color: var(--purple); background: #edfbfb; }.planner-step-nav button.is-active span { color: var(--purple); border-color: var(--teal); background: var(--teal); }.planner-step-nav button.is-complete span { color: var(--purple); border-color: #c3efee; background: #daf6f5; }
.planner-live-summary-inner { position: sticky; top: 96px; padding: 18px; color: var(--white); border-radius: 15px; background: var(--purple); box-shadow: 0 20px 50px rgba(38,0,66,.17); }.planner-live-summary-inner > span { color: var(--teal); font-size: .56rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.planner-live-summary-inner h2 { margin: 8px 0 16px; font-size: 1.1rem; }.planner-live-summary-inner dl { display: grid; gap: 9px; margin: 0; }.planner-live-summary-inner dl div { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.12); }.planner-live-summary-inner dt { color: #c3b7c9; font-size: .57rem; }.planner-live-summary-inner dd { margin: 0; color: var(--teal); font-size: .67rem; font-weight: 900; }

.planner-dialog { width: min(calc(100% - 28px), 520px); padding: 0; color: var(--ink); border: 0; border-radius: 18px; background: #fff; box-shadow: 0 30px 90px rgba(20,0,32,.35); }.planner-dialog::backdrop { background: rgba(20,0,32,.72); backdrop-filter: blur(5px); }.planner-dialog > div { position: relative; padding: 30px; text-align: center; }.planner-dialog-close { position: absolute; top: 11px; right: 11px; width: 40px; height: 40px; color: var(--purple); border: 0; border-radius: 50%; background: #f4f1f5; font-size: 1.35rem; }.planner-dialog-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 16px; color: var(--purple); border-radius: 50%; background: #daf6f5; font-size: 1.5rem; }.planner-dialog h2 { color: var(--purple); font-size: 1.7rem; }.planner-dialog p { color: #706974; }.planner-dialog > div > div { display: flex; flex-direction: column; gap: 9px; margin-top: 22px; }

@media (min-width: 560px) {
  .planner-hero-actions, .planner-intro-actions, .planner-ready-actions, .planner-dialog > div > div { flex-direction: row; }
  .planner-preview-kpis { grid-template-columns: repeat(4, 1fr); }
  .planner-value-strip .container { grid-template-columns: repeat(4, 1fr); }
  .planner-value-strip .container > div { border-bottom: 0; border-right: 1px solid rgba(255,255,255,.08); }.planner-value-strip .container > div:last-child { border-right: 0; }
  .planner-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.planner-field-wide, .planner-fieldset-wide { grid-column: 1 / -1; }
  .planner-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planner-method-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .planner-assumption-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planner-kpi-grid { grid-template-columns: repeat(3, 1fr); }
  .planner-scenario-preview { grid-template-columns: repeat(4, 1fr); }
  .planner-comparison { grid-template-columns: repeat(3, 1fr); }
  .planner-dashboard-cta { flex-direction: row; }
}

@media (min-width: 821px) {
  .planner-app-footer .btn { white-space: nowrap; }
  .planner-hero-grid { grid-template-columns: minmax(0, 1fr) 424px; align-items: center; gap: 30px; padding: 76px 0 104px; }
  .planner-hero-copy h1 { font-size: 3.125rem; }
  .planner-hero-visual { min-height: 530px; display: flex; align-items: center; }
  .planner-float-card { display: flex; }
  .planner-problem-grid { grid-template-columns: repeat(3, 1fr); }
  .planner-capability-grid { grid-template-columns: repeat(2, 1fr); }
  .planner-steps { grid-template-columns: repeat(2, 1fr); gap: 0 30px; }.planner-steps article:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
  .planner-method-grid, .planner-preview-grid, .planner-faq-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 80px; }
  .planner-privacy-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: 52px; }
  .planner-audience-shell { grid-template-columns: 1.05fr .95fr; align-items: center; padding: 50px; }
  .planner-app-layout { grid-template-columns: 190px minmax(0, 1fr); }
  .planner-step-nav { display: block; }
  .planner-app-footer { grid-template-columns: 230px 1fr 230px; }.planner-app-footer p { display: block; }
  .planner-screen-inner { padding: 36px; }
  .planner-mode-grid { grid-template-columns: repeat(2, 1fr); }
  .planner-campaign-toolbar { flex-direction: row; align-items: center; justify-content: space-between; }
  .planner-dashboard-head { flex-direction: row; align-items: flex-start; justify-content: space-between; }
  .planner-kpi-grid { grid-template-columns: repeat(4, 1fr); }
  .planner-sensitivity-grid, .planner-report-grid { grid-template-columns: .85fr 1.15fr; }
}

@media (min-width: 1180px) {
  .planner-capability-grid { grid-template-columns: repeat(4, 1fr); }
  .planner-app-layout { grid-template-columns: 205px minmax(0, 1fr) 230px; }
  .planner-live-summary { display: block; }
  .planner-app-footer { padding-inline: calc((100vw - min(100vw - 24px, 1440px)) / 2 + 14px); }
}

@media (max-width: 820px) {
  .planner-page h1, .planner-page h2 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .planner-page .section { padding: 80px 0; }
  .planner-breadcrumbs { overflow-x: auto; white-space: nowrap; }
  .planner-app-header { grid-template-columns: auto 1fr; }.planner-progress-wrap { grid-column: 1 / -1; grid-row: 2; }.planner-app-tools { grid-column: 2; grid-row: 1; }.planner-app-tools > button:not(.planner-app-close) { display: none; }
}

@media (max-width: 559px) {
  .planner-page .container { width: min(calc(100% - 28px), var(--container)); }
  .planner-hero-grid { padding-top: 42px; }
  .planner-hero-copy h1 { font-size: 2.5rem; }
  .planner-preview-window { border-radius: 14px; }
  .planner-float-card { display: none; }
  .planner-value-strip .container > div:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.08); }
  .planner-audience-shell { padding: 24px; }
  .planner-app-layout { width: min(100% - 16px, 1440px); margin-top: 8px; }
  .planner-screen-inner { padding-inline: 16px; }
  .planner-kpi-card { min-height: 104px; padding: 13px; }.planner-kpi-card strong { font-size: 1.2rem; }
  .planner-app-footer { padding-inline: 8px; }.planner-app-footer .btn { padding-inline: 10px; font-size: .76rem; }
}

@media print {
  body.planner-print-mode > *:not(main) { display: none !important; }
  body.planner-print-mode [data-planner-landing], body.planner-print-mode .planner-app-header, body.planner-print-mode .planner-step-nav, body.planner-print-mode .planner-live-summary, body.planner-print-mode .planner-app-footer { display: none !important; }
  body.planner-print-mode .planner-app-section { display: block !important; background: #fff; }
  body.planner-print-mode .planner-app-layout { display: block; width: 100%; margin: 0; }
  body.planner-print-mode .planner-screen-card { border: 0; box-shadow: none; }
  body.planner-print-mode .planner-report-ready { text-align: left; }
  body.planner-print-mode .planner-ready-actions { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .planner-page *, .planner-page *::before, .planner-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
