[hidden] { display: none !important; }
#plan { position: relative; padding: 110px 0 80px; border-bottom: 1px solid var(--border); }
.plan-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: center; }
#plan h2 { font-size: clamp(2.8rem, 4.8vw, 4.5rem); font-weight: 500; line-height: 1.08; letter-spacing: -.055em; }
#plan h2 span { color: #98e7c2; }
.plan-lead { font-size: 1rem; line-height: 1.85; color: #b4c8bd; margin: 25px 0 28px; max-width: 43ch; }
#start-brief::after { display: none; }
.plan-small { font-size: .73rem; color: #a0b6aa; line-height: 1.8; }
.plan-intro .plan-small { margin-top: 16px; }
.plan-benefits { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.plan-benefits span { padding: 6px 9px; border: 1px solid #4d795e; border-radius: 5px; color: #bedfcb; font-size: .64rem; line-height: 1.6; background: #13302099; }
.first-release-example { padding: 28px; border: 1px solid #69977a; border-radius: 14px; background: #142625; }
.first-release-example h3 { margin-top: 15px; color: #e5f8ed; font-size: 1.4rem; font-weight: 500; line-height: 1.4; letter-spacing: -.035em; }
.example-intro, .example-management { color: #bcd6c5; font-size: .79rem; line-height: 1.8; margin-top: 14px; }
.example-actions { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.example-actions li { min-width: 0; padding: 12px 9px; border: 1px solid #659775; border-radius: 8px; color: #dcf4e5; background: #1b3f2b; font-size: .73rem; text-align: center; }
.example-actions span { display: block; color: #91c8a2; font-size: .6rem; margin-bottom: 7px; }
.example-price { border-top: 1px solid #537c61; padding-top: 18px; margin-top: 19px; }
.example-price strong { display: block; color: #c5f8d9; font-size: 1.5rem; font-weight: 500; letter-spacing: -.03em; line-height: 1.4; }
.example-price > span { display: block; margin-top: 7px; font-size: .64rem; line-height: 1.7; color: #b7d7c3; }
.example-price-reason { font-size: .7rem; color: #bad5c4; line-height: 1.8; margin-top: 13px; }
.plan-journey { margin-top: 48px; }
.plan-journey h3, .subscription-model h3 { margin-top: 12px; color: #def4e6; font-size: clamp(1.3rem,2.5vw,1.7rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.4; }
.plan-journey-steps { list-style: none; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.plan-journey-steps li { min-width: 0; padding: 18px 15px; border: 1px solid #375c45; border-radius: 9px; background: #142625; }
.plan-journey-steps span { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid #71ae87; border-radius: 50%; color: #b6e9c9; font-size: .62rem; margin-bottom: 15px; }
.plan-journey-steps strong { display: block; color: #d7f2e1; font-size: .8rem; font-weight: 500; line-height: 1.5; }
.plan-journey-steps p { color: #adc8b7; font-size: .69rem; line-height: 1.8; margin-top: 8px; }
.journey-footnote { margin-top: 16px; color: #a8c7b4; font-size: .72rem; line-height: 1.8; }
.subscription-model { scroll-margin-top: 100px; padding: 25px; border: 1px solid #54765c; border-radius: 12px; background: #142625; margin-top: 32px; }
.subscription-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 22px; }
.subscription-facts > div { border-left: 2px solid #a4dfb6; padding-left: 13px; min-width: 0; }
.subscription-facts strong { color: #def7e7; font-size: .81rem; font-weight: 500; line-height: 1.6; }
.subscription-facts p { color: #b6d0bf; font-size: .74rem; line-height: 1.8; margin-top: 7px; }
.usage-agreement { margin-top: 20px; padding: 15px; border: 1px solid #55775d; border-radius: 8px; background: #0c2418; }
.usage-agreement > strong { font-size: .77rem; }
.usage-agreement ul { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin-top: 11px; }
.usage-agreement li { padding: 5px 8px; border: 1px solid #46684e; border-radius: 4px; color: #bfdbca; font-size: .65rem; line-height: 1.7; }
.usage-agreement > p { font-size: .7rem; }
.contribution-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #71937844; color: #b9d4c3; font-size: .68rem; line-height: 1.7; }
.contribution-row strong { color: #d2efdc; font-size: .67rem; font-weight: 500; flex-shrink: 0; }
.price-context { margin-top: 12px; color: #c4e8d2; font-size: .74rem; line-height: 1.8; }
.scope-review-note { padding: 12px; border: 1px solid #638a71; border-radius: 7px; color: #c6dfcf; background: #1a3927; font-size: .7rem; line-height: 1.8; margin-top: 14px; }
.tier-reason { color: #c0dfcb; font-size: .68rem; line-height: 1.8; margin-bottom: 13px; }
.price-change-note { margin-top: 14px; padding: 12px 14px; border-left: 3px solid #acecc5; border-radius: 0 7px 7px 0; background: #1b3b29; color: #d2eddd; font-size: .73rem; line-height: 1.8; }
.price-contributions { margin-top: 12px; }
.summary-service-note { padding-top: 14px; border-top: 1px solid #375b44; margin-top: 18px; color: #b5cfbf; font-size: .67rem; line-height: 1.8; }
.summary-service-note a { display: block; color: #c9edda; margin-top: 6px; text-underline-offset: 3px; }
.review-plan-card { padding: 20px; border: 1px solid #82c69e; border-radius: 10px; background: #183e29; margin-bottom: 20px; }
.review-plan-card > strong { display: block; font-size: 1.35rem; color: #d3f8e1; font-weight: 500; line-height: 1.4; margin-top: 12px; }
.review-plan-card > p:last-child { color: #bedcca; font-size: .75rem; line-height: 1.8; margin-top: 9px; }
.review-detail { border: 1px solid #375843; border-radius: 7px; margin-bottom: 8px; color: #c8e3d2; font-size: .76rem; line-height: 1.8; }
.review-detail > summary { cursor: pointer; padding: 13px 15px; }
.review-detail > div { padding: 0 15px 15px; }
.review-detail p { white-space: pre-wrap; color: #b3cdbd; margin-top: 13px; overflow-wrap: anywhere; }
.review-managed { padding: 20px; background: #122d1e; border: 1px solid #62836b; border-radius: 9px; margin-top: 24px; }
.review-managed h4, .after-enquiry h4 { color: #d9f1e1; font-size: .9rem; font-weight: 500; }
.review-managed .subscription-facts { grid-template-columns: 1fr; gap: 16px; margin-top: 18px; }
.after-enquiry { padding: 20px; border: 1px solid #3b634a; border-radius: 9px; margin-top: 20px; }
.after-enquiry ol { padding-left: 18px; margin-top: 13px; }
.after-enquiry li { color: #b9d3c2; font-size: .75rem; line-height: 1.85; margin-top: 8px; padding-left: 4px; }
.usage-review a { display: inline-block; color: #cdf0dc; font-size: .72rem; margin-top: 12px; text-underline-offset: 3px; }
@media(max-width:1050px) { .plan-journey-steps { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
  .first-release-example { padding: 24px 20px; }
  .plan-journey-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .plan-journey-steps li:last-child { grid-column: 1 / -1; }
  .plan-journey-steps li { padding: 16px 13px; }
  .subscription-model { padding: 22px 18px; }
  .subscription-facts { grid-template-columns: 1fr; gap: 17px; }
}
.plan-kicker { color: #a4d9be; font-size: .63rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; }
.plan-promise { background: linear-gradient(145deg,rgba(9,37,26,.76),rgba(6,13,18,.85)),url('theme/emerald-flow.webp') center / cover; border: 1px solid var(--border); border-radius: 14px; padding: 32px; }
.plan-promise > div { display: flex; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--border); }
.plan-promise > div:last-child { border: 0; padding-bottom: 0; }
.promise-number { color: #78b899; font-size: .67rem; padding-top: 3px; }
.plan-promise p:not(.plan-kicker) { font-size: .85rem; line-height: 1.8; color: #adc0b6; }
.plan-promise strong { display: block; color: #edf9f2; font-weight: 500; margin-bottom: 4px; }
.usage-notice { margin-top: 48px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 42px; padding: 32px; border: 1px solid #72b891; border-left: 4px solid #a7ebc4; border-radius: 14px; background: #142625; scroll-margin-top: 110px; }
.usage-notice h3 { margin-top: 14px; color: #e4f6eb; font-size: clamp(1.4rem,2.5vw,1.9rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.35; }
.usage-explanation p { color: #c0d8ca; font-size: .85rem; line-height: 1.85; }
.usage-explanation p + p { margin-top: 14px; }
.usage-explanation strong { color: #e4f6eb; font-weight: 600; }
.usage-explanation .usage-equation { border-top: 1px solid #4b785e; padding-top: 16px; color: #bbf3d2; font-weight: 600; font-size: .8rem; }
.usage-reminder { margin: 18px 0; padding: 16px; border: 1px solid #6bab85; border-left: 3px solid #a7ebc4; border-radius: 8px; background: #163525; color: #c6dfd0; font-size: .76rem; line-height: 1.8; }
.usage-reminder strong { display: block; color: #d9f7e5; font-weight: 600; line-height: 1.55; }
.usage-reminder p { margin-top: 8px; }
.usage-review { margin-top: 24px; font-size: .82rem; }
.growth-visual { scroll-margin-top: 100px; grid-column: 1 / -1; min-width: 0; --included-fill: 30%; --extra-fill: 0%; --activity-level: .38; border-top: 1px solid #41654f; padding-top: 28px; }
.growth-visual[data-stage="growing"] { --activity-level: .65; }
.growth-visual[data-stage="busy"] { --activity-level: 1; }
.growth-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.growth-topline h4 { font-size: clamp(1.15rem,2vw,1.45rem); letter-spacing: -.025em; font-weight: 500; color: #e2f7eb; margin-top: 9px; line-height: 1.4; }
.growth-play { display: inline-flex; flex-shrink: 0; align-items: center; gap: 6px; padding: 10px 13px; border: 1px solid #5c8c70; border-radius: 30px; color: #d4f3e0; background: #112e20; font: inherit; font-size: .7rem; cursor: pointer; }
.growth-play:hover { background: #1d4530; }
.growth-play svg { width: 16px; height: 16px; }
.growth-stages { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 5px; border: 1px solid #3d624e; background: #092016; border-radius: 9px; margin: 24px 0; }
.growth-stages button { border: 1px solid transparent; border-radius: 6px; padding: 9px 14px; color: #9ab8a6; background: transparent; font: inherit; font-size: .68rem; cursor: pointer; }
.growth-stages button span { margin-left: 7px; }
.growth-stages button[aria-pressed="true"] { color: #d9fbe7; border-color: #6eae89; background: #204831; }
.growth-journey { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin: 0 0 24px; padding: 0; }
.growth-node { position: relative; min-width: 0; padding: 22px; border-radius: 10px; border: 1px solid #3f6a50; background: linear-gradient(150deg,#173e2a,#0b2117); }
.growth-node:not(:last-child)::after { content: '→'; position: absolute; right: -33px; top: 90px; width: 28px; text-align: center; color: #97dcaf; font-size: 1.3rem; }
.growth-node:not(:last-child)::before { content: ''; position: absolute; right: -10px; top: 103px; width: 4px; height: 4px; border-radius: 50%; background: #bcf8d2; opacity: 0; }
.is-playing .growth-node:not(:last-child)::before { animation: growth-flow 1.8s ease-in-out infinite; }
.is-playing .growth-node:nth-child(2)::before { animation-delay: .6s; }
.growth-step { display: block; font-size: .6rem; text-transform: uppercase; letter-spacing: .11em; color: #a3cfb4; }
.growth-node > strong { display: block; font-size: .86rem; font-weight: 500; line-height: 1.5; color: #e0f6e9; min-height: 2.6em; }
.growth-node > p { color: #acc7b7; font-size: .72rem; line-height: 1.75; margin-top: 6px; }
.growth-people, .growth-activity, .growth-servers { height: 80px; margin: 20px 0 15px; display: flex; align-items: flex-end; gap: 8px; }
.growth-people { align-items: center; }
.growth-people i { display: block; position: relative; height: 27px; width: 12px; flex: 0 0 12px; color: #a7edc2; opacity: .18; transition: opacity .7s, transform .7s; }
.growth-people i::before { content: ''; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: currentColor; top: 0; left: 2px; }
.growth-people i::after { content: ''; position: absolute; width: 12px; height: 15px; border-radius: 5px 5px 3px 3px; background: currentColor; bottom: 0; }
.growth-people i:nth-child(-n+3), [data-stage="growing"] .growth-people i:nth-child(-n+6), [data-stage="busy"] .growth-people i { opacity: 1; transform: translateY(-3px); }
.growth-activity { gap: 7px; padding-bottom: 10px; border-bottom: 1px solid #37664b; }
.growth-activity i { display: block; width: 15px; height: 42px; border: 1px solid #84d8a8; border-radius: 3px 3px 0 0; background: linear-gradient(#a2eebf,#336749); transform: scaleY(var(--activity-level)); transform-origin: bottom; transition: transform .8s ease; }
.growth-activity i:nth-child(2n) { height: 64px; }
.growth-activity i:nth-child(3n) { height: 54px; }
.growth-activity i:last-child { height: 72px; }
.is-playing .growth-activity i { animation: growth-glow 2s ease-in-out infinite alternate; }
.growth-servers { flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; }
.growth-servers > i { display: flex; align-items: center; gap: 5px; width: 136px; max-width: 100%; height: 18px; border: 1px solid #548767; background: #163b27; border-radius: 4px; padding: 5px 8px; opacity: .3; transition: opacity .7s, border-color .7s; }
.growth-servers b { display: block; width: 4px; height: 4px; background: #a5ebbe; border-radius: 50%; }
.growth-servers > i:first-child, [data-stage="growing"] .growth-servers > i:nth-child(2), [data-stage="busy"] .growth-servers > i { opacity: 1; }
[data-stage="busy"] .growth-infrastructure { border-color: #c4aa6b; }
[data-stage="busy"] .growth-infrastructure > strong { color: #efd49b; }
.growth-billing { display: grid; grid-template-columns: 1.1fr 1fr; gap: 20px; }
.growth-meter-card, .growth-invoice { min-width: 0; padding: 22px; border: 1px solid #3a5c48; border-radius: 10px; background: #0b2117; }
.growth-panel-title { font-size: .8rem; font-weight: 500; color: #d9efe2; margin-bottom: 22px; }
.growth-meter-labels { display: grid; grid-template-columns: 60% 40%; font-size: .63rem; color: #a9d9bc; gap: 0; margin-bottom: 12px; }
.growth-meter-labels span:last-child { color: #e7c990; padding-left: 8px; }
.growth-meter { position: relative; height: 28px; border-radius: 5px; background: linear-gradient(to right,#203d2b 60%,#352f21 60%); border: 1px solid #58735c; }
.growth-meter-included { position: absolute; inset: 0 auto 0 0; width: var(--included-fill); border-radius: 4px 0 0 4px; background: linear-gradient(90deg,#4b996c,#a0e9bb); transition: width 1s ease; }
.growth-meter-extra { position: absolute; inset: 0 auto 0 60%; width: var(--extra-fill); background: linear-gradient(90deg,#ba934e,#edce8a); border-radius: 0 4px 4px 0; transition: width 1s ease; }
.growth-meter-boundary { position: absolute; top: -6px; bottom: -6px; left: 60%; border-left: 2px dashed #f0dfb1; }
.growth-meter-note { margin-top: 22px; min-height: 3.4em; font-size: .72rem; color: #b6cfbf; line-height: 1.75; }
.growth-invoice > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: .72rem; color: #b6cfbf; margin-top: 16px; }
.growth-invoice strong { color: #d5f3e0; font-size: .7rem; font-weight: 500; text-align: right; }
.growth-invoice-usage { border-top: 1px solid #34503e; padding-top: 16px; }
.growth-invoice > p:last-child { margin-top: 18px; font-size: .69rem; color: #a6c4b1; line-height: 1.75; min-height: 3.4em; }
[data-stage="busy"] .growth-invoice-usage strong, [data-stage="busy"] .growth-invoice > p:last-child { color: #efd49b; }
.growth-summary { color: #d2eddd; font-size: .8rem; line-height: 1.8; margin-top: 24px; min-height: 3.6em; }
.growth-disclaimer { color: #a3c2af; font-size: .65rem; line-height: 1.8; margin-top: 8px; }
@keyframes growth-flow { 0% { opacity: 0; transform: translateX(0); } 25% { opacity: 1; } 100% { opacity: 0; transform: translateX(26px); } }
@keyframes growth-glow { from { opacity: .65; } to { opacity: 1; } }
@media(max-width:1050px) { .growth-node { padding: 18px 14px; } .growth-people { gap: 6px; } .growth-people i { width: 10px; flex-basis: 10px; } .growth-people i::after { width: 10px; } .growth-people i::before { left: 1px; } }
@media(max-width:760px) {
  .growth-topline { align-items: flex-start; flex-direction: column; gap: 14px; }
  .growth-journey, .growth-billing { grid-template-columns: 1fr; }
  .growth-journey { gap: 28px; }
  .growth-node { padding: 20px; }
  .growth-node > strong { min-height: 0; }
  .growth-people, .growth-activity, .growth-servers { height: 65px; margin: 12px 0; }
  .growth-activity i:last-child { height: 60px; }
  .growth-node:not(:last-child)::after { content: '↓'; right: calc(50% - 14px); top: auto; bottom: -29px; }
  .growth-node:not(:last-child)::before { display: none; }
  .growth-meter-card, .growth-invoice { padding: 18px; }
  .growth-stages { display: flex; gap: 3px; }
  .growth-stages button { flex: 1; padding: 9px 5px; font-size: .64rem; }
  .growth-stages button span { display: block; margin: 4px 0 0; }
}
@media(prefers-reduced-motion:reduce) {
  .growth-visual *, .growth-visual *::before, .growth-visual *::after { animation: none !important; transition: none !important; }
}
@media(max-width:760px) { .usage-notice { grid-template-columns: 1fr; gap: 22px; padding: 24px 20px; margin-top: 32px; } }
.configurator { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 26px; margin-top: 64px; scroll-margin-top: 110px; align-items: start; }
.wizard-main { border: 1px solid var(--border); border-radius: 14px; padding: 32px; background: linear-gradient(145deg,#0b1b17,#08120f); min-width: 0; }
.wizard-topline { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.text-button { border: 0; background: none; color: #aec7b8; cursor: pointer; font: inherit; font-size: .7rem; text-decoration: underline; text-underline-offset: 4px; }
.wizard-phases { list-style: none; display: flex; justify-content: space-between; gap: 12px; margin: 25px 0 12px; font-size: .67rem; color: #8ba498; }
.wizard-phases li[aria-current="step"] { color: #b4f5d3; }
.wizard-phases li.is-complete { color: #b7cabe; }
.wizard-progress { height: 3px; background: #20362c; border-radius: 4px; overflow: hidden; margin-bottom: 14px; }
#progress-fill { display: block; height: 100%; width: 0; background: #91ebbb; transition: width .3s; }
#wizard-step { min-height: 360px; padding-top: 22px; }
.step-heading { font-size: clamp(1.45rem,2.4vw,2rem); font-weight: 500; line-height: 1.25; letter-spacing: -.035em; margin-bottom: 12px; outline: none; }
.step-description { color: #a8bfb1; font-size: .85rem; line-height: 1.8; margin-bottom: 28px; max-width: 58ch; }
.choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.choice { display: flex; gap: 13px; border: 1px solid rgba(170,213,188,.2); border-radius: 9px; padding: 18px; cursor: pointer; background: rgba(5,15,11,.35); transition: border-color .2s,background .2s; position: relative; min-width: 0; }
.choice:hover { border-color: rgba(155,239,192,.5); }
.choice:has(input:checked) { background: rgba(20,241,149,.07); border-color: #74d9a4; box-shadow: inset 0 0 0 1px rgba(116,217,164,.15); }
.choice:has(input:focus-visible) { outline: 2px solid #b8f7d7; outline-offset: 3px; }
.choice input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 3px; accent-color: #7de2ac; }
.choice-copy { min-width: 0; }
.choice strong { display: block; font-size: .84rem; font-weight: 500; color: #e3f3e9; line-height: 1.5; }
.choice small { display: block; color: #a2b8a9; font-size: .74rem; line-height: 1.6; margin-top: 5px; }
.choice-icon { display: block; color: #9ae4ba; margin-bottom: 15px; }
.choice-icon svg { width: 22px; height: 22px; }
.feature-choice { padding: 17px 15px; }
.field-group { border: 0; margin: 0 0 26px; padding: 0; min-width: 0; }
.field-group legend, .field-label { font-size: .86rem; font-weight: 500; color: #e5f1e9; margin-bottom: 12px; display: block; }
.field-hint { font-size: .74rem; color: #9fb3a6; line-height: 1.7; margin: -4px 0 14px; }
.audience-cost-rule { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 16px 0; border: 1px solid #6b8a68; border-radius: 8px; overflow: hidden; }
.audience-cost-rule > span { display: block; padding: 13px 14px; background: #21452e; color: #c4dfcc; font-size: .68rem; line-height: 1.7; }
.audience-cost-rule > span:last-child { background: #3e3522; color: #e9d3aa; }
.audience-cost-rule strong { display: block; color: #e3f8e9; font-size: .78rem; font-weight: 500; margin-top: 2px; }
.audience-cost-rule > span:last-child strong { color: #f3d99f; }
.audience-cost-badge { display: inline-block; margin-top: 7px; padding: 3px 7px; border: 1px solid #6b8c75; border-radius: 5px; color: #c6e4d0; background: #1a3826; font-size: .62rem; line-height: 1.6; }
.audience-cost-consider { color: #f0d7a3; border-color: #8c7950; background: #372f1e; }
.audience-cost-review { color: #c5d8cf; border-color: #5e7b6b; background: #20362b; }
.field-group .choice-grid { grid-template-columns: 1fr; }
.field-group .choice { padding: 13px 15px; }
.plain-check { display: flex; gap: 12px; align-items: flex-start; font-size: .8rem; color: #c0d3c6; margin: 20px 0; cursor: pointer; }
.plain-check input { margin-top: 5px; width: 16px; height: 16px; flex-shrink: 0; accent-color: #9bebbc; }
.brief-input { width: 100%; border: 1px solid #365044; border-radius: 7px; padding: 13px 14px; background: #06130e; color: #eef9f1; font: inherit; font-size: .87rem; line-height: 1.7; }
.brief-input::placeholder { color: #809b8b; opacity: 1; }
textarea.brief-input { min-height: 135px; resize: vertical; }
.brief-input:focus-visible { outline: 2px solid #94e8b8; outline-offset: 2px; }
.brief-input[aria-invalid="true"] { border-color: #efb5a5; }
.field-error, .wizard-error { color: #f2b7aa; font-size: .78rem; line-height: 1.7; margin-top: 9px; }
.wizard-error { background: #311e17; border: 1px solid #785245; border-radius: 6px; padding: 12px 14px; margin-bottom: 18px; }
.character-count { font-size: .65rem; color: #8eac9a; text-align: right; margin-top: 6px; }
.wizard-actions { display: flex; justify-content: space-between; gap: 14px; padding-top: 24px; border-top: 1px solid var(--border); margin-top: 24px; }
.wizard-actions .btn { font-family: inherit; cursor: pointer; }
.wizard-actions .btn::after { display: none; }
.wizard-actions .btn:disabled { cursor: wait; opacity: .65; }
.draft-note { color: #8ea798; font-size: .65rem; line-height: 1.7; margin-top: 20px; }
.build-summary { position: sticky; top: 100px; border: 1px solid #467354; border-radius: 16px; padding: 24px; background: radial-gradient(ellipse at top left,#1e4730,transparent 60%),#0b1c13; }
.build-summary h3 { font-size: 1.3rem; font-weight: 500; letter-spacing: -.035em; margin: 14px 0 12px; color: #e2f6e9; }
.summary-price strong { font-size: 1.65rem; line-height: 1.35; color: #bcf5d3; font-weight: 500; display: block; letter-spacing: -.035em; }
.summary-price > span { display: block; color: #b3ccbd; font-size: .68rem; margin-top: 7px; line-height: 1.65; }
.summary-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.summary-badges > span { padding: 5px 8px; border-radius: 5px; border: 1px solid #5b8c6d; background: #244b32; color: #c9eed7; font-size: .6rem; line-height: 1.5; }
.estimate-panel { margin-top: 22px; padding: 16px; border: 1px solid #96dcb0; border-top: 3px solid #bcf3d4; border-radius: 10px; background: linear-gradient(125deg,#245139,#102b1d); scroll-margin-top: 100px; }
.estimate-panel-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.estimate-panel-heading > svg { width: 23px; height: 28px; flex: 0 0 23px; color: #baf0ce; }
.estimate-panel h4 { color: #e8fbef; font-size: .95rem; font-weight: 500; letter-spacing: -.025em; line-height: 1.4; }
.price-item { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; padding: 10px 0; border-top: 1px solid #749a7b55; font-size: .73rem; color: #c8e4d3; line-height: 1.65; }
.price-item > span { min-width: 0; }
.price-item strong { flex-shrink: 0; color: #e4f9ed; font-weight: 500; font-size: .83rem; }
.estimate-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-top: 1px solid #a1d5b0; margin-top: 3px; padding-top: 12px; }
.estimate-total > span { color: #c6e5d1; font-size: .7rem; line-height: 1.6; }
.estimate-total strong { color: #d0f9df; font-size: 1.05rem; font-weight: 500; white-space: nowrap; }
.estimate-point-details { border-top: 1px solid #749a7b55; margin-top: 14px; padding-top: 11px; font-size: .65rem; color: #b5d6c1; }
.estimate-point-details > summary { cursor: pointer; line-height: 1.65; }
.estimate-score { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 12px; }
.estimate-score div { text-align: center; background: #061c13aa; border: 1px solid #628d7066; border-radius: 7px; padding: 9px 3px; }
.estimate-score strong { display: block; color: #c3f3d5; font-size: 1rem; font-weight: 500; }
.estimate-score span { display: block; color: #b0d2bd; margin-top: 3px; font-size: .6rem; }
.estimate-point-note { color: #b6d5c1; font-size: .66rem; line-height: 1.8; margin-top: 10px; }
.summary-included { margin-top: 22px; }
.summary-included h4, .summary-usage h4 { font-size: .76rem; font-weight: 500; color: #def4e7; line-height: 1.5; }
.summary-inclusions { list-style: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 12px; }
.summary-inclusions li { display: flex; align-items: center; gap: 8px; padding: 10px 9px; border: 1px solid #3e644c; border-radius: 7px; background: #132f20; color: #cce9d6; min-width: 0; font-size: .68rem; line-height: 1.5; }
.summary-inclusions svg { width: 18px; height: 18px; flex: 0 0 18px; color: #a9e5bd; }
.summary-included > p { font-size: .62rem; color: #a9c6b4; margin-top: 10px; line-height: 1.7; }
.summary-usage { margin-top: 20px; padding: 15px; border: 1px solid #6f8060; border-radius: 10px; background: linear-gradient(130deg,#1a3927,#19281b); }
.summary-usage-flow { display: grid; grid-template-columns: 1fr 1fr; border-radius: 6px; overflow: hidden; margin-top: 12px; font-size: .58rem; line-height: 1.6; }
.summary-usage-flow > span { padding: 8px; background: #2a5439; color: #c2dfc9; }
.summary-usage-flow > span:last-child { background: #473b23; color: #ead1a0; }
.summary-usage-flow strong { display: block; font-size: .72rem; font-weight: 500; color: #dcf5e3; }
.summary-usage-flow > span:last-child strong { color: #f5d99f; }
.summary-usage > p { color: #d9dcc4; font-size: .67rem; line-height: 1.7; margin-top: 10px; }
.summary-usage > a { display: inline-block; color: #c5e9d3; font-size: .64rem; margin-top: 8px; text-underline-offset: 3px; }
.plan-details { border-top: 1px solid var(--border); margin-top: 16px; padding-top: 14px; color: #b7d0c0; font-size: .7rem; }
.plan-details > summary { cursor: pointer; line-height: 1.7; }
.plan-details p { margin-top: 12px; line-height: 1.8; }
.plan-details strong { font-weight: 500; color: #d4efdf; }
.summary-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding-top: 14px; }
.summary-chips li { font-size: .62rem; color: #bfe7ce; background: #162f21; padding: 5px 8px; border-radius: 4px; }
.mobile-breakdown-link, .estimate-back-link { display: none; }
@media(max-width:760px) {
  .mobile-breakdown-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 10px; padding: 9px 12px; border: 1px solid #85cba1; border-radius: 7px; color: #c4f3d6; background: #1a3a29; font-size: .7rem; line-height: 1.6; text-decoration: none; }
  .estimate-back-link { display: inline-flex; align-items: center; gap: 12px; color: #d1f6df; font-size: .7rem; margin-top: 12px; text-underline-offset: 4px; }
}
.summary-contact { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; padding: 11px 14px; width: 100%; border: 1px solid #59856a; border-radius: 7px; background: #1c3d2a; font-size: .72rem; margin-top: 18px; color: #d3efdf; text-decoration: none; }
.review-block { border: 1px solid var(--border); border-radius: 8px; padding: 18px; margin-bottom: 12px; }
.review-block-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.review-block h4 { font-size: .8rem; font-weight: 600; color: #c9f0d7; }
.review-block p { font-size: .79rem; color: #b3c5b9; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.review-contact { border-top: 1px solid var(--border); padding-top: 25px; margin-top: 28px; }
.review-contact h4 { font-size: 1.1rem; font-weight: 500; margin-bottom: 20px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.submission-note { border-left: 2px solid #6ac490; padding-left: 14px; color: #afc9b7; font-size: .74rem; line-height: 1.8; margin: 20px 0; }
.download-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: 20px 0; }
.confirm-box { text-align: center; padding: 25px 5px; }
.confirm-symbol { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; background: #143d25; border: 1px solid #4ea473; color: #b5f3cf; font-size: 1.6rem; margin-bottom: 20px; }
.confirm-box h3 { font-size: 1.8rem; font-weight: 500; letter-spacing: -.04em; margin-bottom: 15px; }
.confirm-box p { font-size: .87rem; color: #b5caba; line-height: 1.8; margin-bottom: 20px; }
.confirm-box code { font: inherit; color: #b9edcb; display: block; margin: 18px 0; }
.reset-confirm { margin: 14px 0 0; padding: 14px; background: #17291d; border: 1px solid var(--border); border-radius: 7px; font-size: .78rem; }
.reset-confirm button { margin: 10px 15px 0 0; }
.plan-nojs { padding-top: 25px; color: #c0d4c7; }
button:focus-visible, summary:focus-visible { outline: 2px solid #b8f7d7; outline-offset: 4px; }
@media(max-height:1150px) { .build-summary { position: static; } }
@media(max-width:1050px) { .plan-intro { gap: 45px; } .configurator { grid-template-columns: minmax(0,1fr) 265px; gap: 18px; } .wizard-main { padding: 25px; } .build-summary { padding: 20px; } .choice-grid { grid-template-columns: 1fr; } }
@media(max-width:760px) { #plan { padding-top: 75px; } .plan-intro { grid-template-columns: 1fr; gap: 35px; } .plan-promise { padding: 25px; } .configurator { grid-template-columns: 1fr; margin-top: 40px; scroll-margin-top: 90px; } .build-summary { position: static; } .wizard-main { padding: 22px 18px; } .choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .choice { padding: 14px 12px; gap: 9px; } .choice small { font-size: .7rem; } .contact-grid { grid-template-columns: 1fr; gap: 0; } #wizard-step { min-height: 0; } .wizard-actions .btn { padding: 13px 18px; } .summary-price strong { font-size: 1.65rem; } }
@media(max-width:640px) { .menu a[href="#process"] { display: none; } }
@media(max-width:380px) { .choice-grid { grid-template-columns: 1fr; } .menu a[href="#services"] { display: none; } .wizard-phases { gap: 6px; } }
@media(prefers-reduced-motion:reduce) { #progress-fill, .choice { transition: none; } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.product-options > .choice-grid, .feature-options > .choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.mobile-price { display: none; }
@media(max-width:760px) { .mobile-price { display: block; color: #b0e9c5; font-size: .72rem; margin-top: 12px; } }
@media(max-width:380px) { .product-options > .choice-grid, .feature-options > .choice-grid { grid-template-columns: 1fr; } }

/* Prices and their qualifications stay together at every questionnaire step. */
.summary-price, .review-plan-card, .mobile-price {
  padding: 18px; border: 1px solid #88d5a8; border-top: 3px solid #bdf4d3;
  border-radius: 11px; background: linear-gradient(135deg,#1e5135,#102c1e);
  box-shadow: 0 8px 24px #0000001c;
}
.summary-price[data-price-kind]:not([data-price-kind="estimate"]), .review-plan-card[data-price-kind]:not([data-price-kind="estimate"]), .mobile-price[data-price-kind]:not([data-price-kind="estimate"]) {
  border-color: #61bdb6; border-top-color: #9aeee4; background: linear-gradient(140deg,#183b38,#102a28);
}
.summary-price > strong, .review-plan-card > strong { font-size: clamp(1.45rem,2.4vw,1.85rem); font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.summary-price > span, #review-price-note { color: #d1e8d9; font-size: .79rem; line-height: 1.75; margin-top: 10px; display: block; }
.price-context { margin-top: 16px; }
.price-highlight { padding: 17px 15px; margin-top: 16px; border: 1px solid #58b8af; border-left: 4px solid #8ce6da; border-radius: 8px; background: #163e3b; color: #e0fff8; }
.price-context .price-highlight { margin-top: 0; }
.price-highlight-label, .price-status-label { display: block; font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.65; color: #a7e9df; }
.price-highlight-amount { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; margin-top: 10px; line-height: 1.25; }
.price-highlight-amount > span { color: #c9f5ed; font-size: .85rem; }
.price-highlight-amount > strong { display: inline; color: #edfffb; font-size: clamp(1.9rem,3vw,2.35rem); font-weight: 650; letter-spacing: -.04em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.price-highlight-warning { margin-top: 13px; color: #a5f4e5; font-size: .85rem; font-weight: 650; line-height: 1.65; }
.price-highlight-detail { margin-top: 7px; color: #bdded8; font-size: .75rem; line-height: 1.8; }
.review-plan-card > .plan-kicker { color: #d2efdc; }
.review-plan-card > strong { margin-top: 12px; }
.example-price { padding: 18px; border: 1px solid #8ed4a8; border-left: 4px solid #bdf1cd; border-radius: 9px; background: #224d33; }
.example-price strong { color: #edfff4; font-size: clamp(1.8rem,3vw,2.2rem); font-weight: 650; font-variant-numeric: tabular-nums; }
.example-price > span { color: #d0e9d8; font-size: .73rem; }
.estimate-total { padding: 13px 12px; margin-top: 8px; border: 1px solid #a3dfb8; border-radius: 7px; background: #2c5b3f; flex-wrap: wrap; }
.estimate-total > span { color: #e1f5e8; font-weight: 500; font-size: .76rem; }
.estimate-total strong { font-size: 1.25rem; font-weight: 650; color: #effff5; }
.price-item strong { font-size: .9rem; font-weight: 600; font-variant-numeric: tabular-nums; }
@media(max-width:760px) {
  .mobile-price { display: block; margin-top: 16px; }
  .mobile-price .price-status-label { color: #c5efd5; }
  .mobile-price[data-price-kind]:not([data-price-kind="estimate"]) .price-status-label { color: #a7e9df; }
  .price-mobile-heading { display: block; margin-top: 8px; color: #e5ffef; font-size: 1.35rem; font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; }
  .price-mobile-note { color: #cce6d6; font-size: .75rem; margin-top: 8px; line-height: 1.75; }
  .summary-price, .review-plan-card, .mobile-price { padding: 16px; }
}

.companion-site-price { display: inline-block; padding: 3px 8px; border: 1px solid #58b8af; border-radius: 5px; background: #163e3b; color: #edfffb; font-weight: 650; font-variant-numeric: tabular-nums; }
.companion-site-hint { display: block; margin-top: 8px; color: #b9d3c5; font-size: .73rem; line-height: 1.7; }

.configurator.entry-mode { grid-template-columns:1fr; max-width:980px; margin-left:auto; margin-right:auto; }
.entry-paths { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:28px 0; }
.entry-path { display:flex; flex-direction:column; gap:14px; padding:28px; text-align:left; font:inherit; color:#e1f3e9; border:1px solid #537a68; border-radius:14px; background:linear-gradient(145deg,#173d32,#10291f); cursor:pointer; }
.entry-path:hover,.entry-path:focus-visible { border-color:#a9e3c8; background:#1b493a; outline:2px solid #a9e3c8; outline-offset:3px; }
.entry-path strong { font-size:1.25rem; }.entry-path span:not(.choice-icon) { font-size:.85rem; line-height:1.8; color:#bbd3c6; }.entry-path small { color:#b7e1c9; font-size:.75rem; margin-top:auto; }
@media(max-width:650px) { .entry-paths { grid-template-columns:1fr; }.entry-path { padding:22px; } }

.entry-mode #mobile-price,.entry-mode #mobile-breakdown-link,.entry-mode #price-change-note { display:none !important; }

.launch-followups { margin-top:24px; padding:18px; border:1px solid #3c6553; border-radius:12px; background:#10291f; }.launch-followups summary { cursor:pointer; font-size:.9rem; color:#dcf2e5; line-height:1.8; }.launch-followups summary span { color:#abc6b6; }.launch-followups .field-group { margin-top:22px; }

/* Software as a Plan shares the hero and bento section's ink, glass and mint. */
#plan {
  --plan-ink: #edf5f1;
  --plan-copy: #b5c6bf;
  --plan-line: rgba(175,228,206,.17);
  --plan-glass: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  --plan-emerald: linear-gradient(135deg,#123c2f,#0b2420);
  --plan-art: url('theme/emerald-silk.webp');
  --plan-art-position: 80% center;
  --plan-art-wash: linear-gradient(130deg,#0b1518f5,#0a1615e8);
  padding-top: 100px;
}
#plan .plan-intro { gap: 70px; }
#plan .plan-intro h2 { font-size: clamp(2.8rem,4.8vw,4.5rem); }
#plan .plan-lead { max-width: 45ch; }
#plan .plan-benefits span { border: 0; padding: 0; background: transparent; font-size: .7rem; color: #adc7b9; }
#plan .plan-benefits { gap: 8px 20px; }
#plan .plan-benefits span::before { content: '✓'; color: #99e0bb; margin-right: 7px; }
#plan :is(.first-release-example,.plan-journey-steps li,.subscription-model,.usage-notice,.wizard-main,.build-summary) {
  background: linear-gradient(165deg,rgba(20,241,149,.035),transparent 40%),var(--plan-glass),#080f14;
  border: 1px solid var(--plan-line); box-shadow: inset 0 1px 0 #ffffff09,0 20px 45px #00000020;
}
#plan :is(.first-release-example,.subscription-model,.usage-notice,.wizard-main,.build-summary) { border-radius: 24px; }
#plan article.first-release-example { background: linear-gradient(130deg,#0b1518f5,#0a1615e8),url('theme/emerald-silk.webp') 80% center/cover; padding: 30px; }
#plan :is(.plan-journey-steps li,.subscription-model,.usage-notice,.wizard-main,.build-summary) {
  background: var(--plan-art-wash),var(--plan-art) var(--plan-art-position)/cover;
}
/* Distinct artwork and crops keep a coherent, deliberately varied collection. */
#plan .plan-journey-steps li:nth-child(1) { --plan-art: url('theme/architectural-emerald.webp'); --plan-art-position: 22% center; --plan-art-wash: linear-gradient(130deg,#0b1518ed,#0a1615e0); }
#plan .plan-journey-steps li:nth-child(2) { --plan-art: url('theme/emerald-flow.webp'); --plan-art-position: 25% center; }
#plan .plan-journey-steps li:nth-child(3) { --plan-art-position: 72% center; }
#plan .plan-journey-steps li:nth-child(4) { --plan-art: url('theme/emerald-horizon.webp'); --plan-art-position: center 70%; --plan-art-wash: linear-gradient(130deg,#0b1518ed,#0a1615df); }
#plan .plan-journey-steps li:nth-child(5) { --plan-art: url('theme/emerald-flow.webp'); --plan-art-position: 82% center; }
#plan .subscription-model { --plan-art: url('theme/architectural-emerald.webp'); --plan-art-position: center 58%; --plan-art-wash: linear-gradient(130deg,#0b1518ed,#0a1615e6); }
#plan .usage-notice { --plan-art: url('theme/emerald-horizon.webp'); --plan-art-position: center 72%; --plan-art-wash: linear-gradient(130deg,#0b1518ed,#0a1615df); }
#plan .wizard-main { --plan-art: url('theme/emerald-flow.webp'); --plan-art-position: 58% center; }
#plan .build-summary { --plan-art: url('theme/architectural-emerald.webp'); --plan-art-position: 68% center; }
#plan :is(h3,h4) { color: var(--plan-ink); }
#plan :is(.example-intro,.example-management,.example-price-reason,.plan-journey-steps p,.subscription-facts p,.usage-explanation p,.step-description,.field-hint,.draft-note,.usage-title-note) { color: var(--plan-copy); }
#plan .example-actions { gap: 0; border-block: 1px solid var(--plan-line); padding-block: 14px; }
#plan .example-actions li { border: 0; border-radius: 0; background: transparent; padding: 3px 8px; font-size: .8rem; }
#plan .example-actions li + li { border-left: 1px solid var(--plan-line); }
#plan :is(.example-actions span,.plan-kicker,.growth-step) { color: #95bda9; }
#plan .example-price { background: var(--plan-emerald); border: 1px solid #6c9c815e; border-left: 3px solid #a4d5b8; border-radius: 12px; padding: 20px; }
#plan .example-price strong { color: #edf9f0; font-size: clamp(1.9rem,3vw,2.4rem); }
#plan .example-price > span { color: #bdcfbf; font-size: .73rem; }
#plan .example-price-reason { font-size: .75rem; }
#plan .plan-details { border-color: var(--plan-line); font-size: .77rem; }
#plan .brief-introduction { display: flex; justify-content: space-between; align-items: end; gap: 48px; margin-top: 84px; padding-top: 48px; border-top: 1px solid var(--plan-line); }
#plan .brief-introduction h3 { font-size: clamp(1.6rem,3vw,2.2rem); font-weight: 500; letter-spacing: -.04em; margin: 12px 0; }
#plan .brief-introduction p:not(.plan-kicker) { color: var(--plan-copy); max-width: 58ch; font-size: .9rem; line-height: 1.8; }
#plan .brief-assurances { list-style: none; flex-shrink: 0; color: #b8cdc2; font-size: .75rem; line-height: 2.1; }
#plan .brief-assurances li::before { content: '✓'; color: #9ad8b5; margin-right: 9px; }
#plan .configurator { grid-template-columns: minmax(0,1fr) 340px; gap: 24px; margin-top: 28px; align-items: start; }
#plan .configurator.entry-mode { grid-template-columns: 1fr; max-width: none; }
#plan .wizard-main { padding: 32px; }
#plan .wizard-topline { margin-bottom: 24px; }
#plan .entry-paths { gap: 20px; margin: 26px 0 8px; }
#plan .entry-path { padding: 28px; gap: 13px; border-radius: 16px; background: linear-gradient(145deg,#ffffff05,#ffffff01); border: 1px solid #b0d7c633; position: relative; transition: background .2s,border-color .2s; }
#plan .entry-path:first-child { background: linear-gradient(135deg,#10382b80,#091613); border-color: #7bb29270; }
#plan :is(.entry-path:hover,.entry-path:focus-visible) { background: #142a23; border-color: #a6d8bb; outline-color: #a6d8bb; }
#plan .entry-path strong { font-weight: 500; }
#plan .entry-path .choice-icon { background: #a5d8bd0b; border: 1px solid #a5d8bd26; border-radius: 10px; padding: 10px; width: 42px; height: 42px; color: #a6d7ba; }
#plan .entry-path span:not(.choice-icon) { color: var(--plan-copy); }
#plan .entry-path small { color: #b9e1c7; padding-top: 8px; }
#plan .step-heading { scroll-margin-top: 118px; font-size: clamp(1.5rem,2.7vw,2rem); line-height: 1.3; }
#plan .step-description { font-size: .9rem; line-height: 1.8; }
#plan .step-position { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
#plan #step-subcount { font-size: .69rem; color: #95b1a3; white-space: nowrap; }
#plan .wizard-phases { margin-bottom: 18px; }
#plan .wizard-phases li { color: #829d90; font-size: .75rem; }
#plan .wizard-phases [aria-current="step"] { color: #d4ebdc; }
#plan .wizard-progress { height: 2px; background: #a4d5bb1a; margin-bottom: 16px; }
#plan #progress-fill { background: #9acfb0; }
#plan .choice { background: #030a0d35; border: 1px solid #526b60; border-radius: 12px; padding: 19px 16px; }
#plan .choice:hover { border-color: #a4cbb85c; background: #b8efce05; }
#plan .choice:has(input:checked) { background: linear-gradient(135deg,#133b2b90,#0d211c); border-color: #97c5a6b3; box-shadow: inset 0 0 0 1px #97c5a60c; }
#plan .choice strong { font-weight: 500; color: #e2ece5; font-size: .88rem; }
#plan .choice small { color: #a6bdb0; line-height: 1.75; font-size: .77rem; margin-top: 7px; }
#plan :is(.choice-icon,.summary-inclusions svg) { color: #9dceb0; }
#plan .brief-input { border-color: #526b60; border-radius: 10px; background: #040c10; color: #e9f3ec; }
#plan .brief-input:focus { border-color: #96c9ab; box-shadow: 0 0 0 3px #96c9ab12; outline: none; }
#plan .field-group legend,#plan .field-label { font-size: .88rem; color: #d8e5dd; }
#plan .field-hint { font-size: .78rem; line-height: 1.8; }
#plan .build-summary { padding: 22px; position: sticky; top: 104px; }
#plan .build-summary h3 { font-size: 1.1rem; margin-top: 10px; }
#plan .summary-price,#plan .summary-price[data-price-kind]:not([data-price-kind="estimate"]),#plan .review-plan-card,#plan .review-plan-card[data-price-kind]:not([data-price-kind="estimate"]),#plan .mobile-price,#plan .mobile-price[data-price-kind]:not([data-price-kind="estimate"]) { background: var(--plan-emerald); border: 1px solid #82b29670; border-top: 2px solid #a3d2b4; border-radius: 14px; box-shadow: 0 12px 30px #00000014; }
#plan .summary-price[data-price-kind="scope_review"] > strong { font-size: .98rem; font-weight: 500; letter-spacing: -.01em; }
#plan .summary-price > span { font-size: .76rem; line-height: 1.8; color: #bed1c4; }
#plan .price-highlight { background: linear-gradient(135deg,#194b36,#123427); border: 1px solid #abd2b342; border-left: 2px solid #b5d9bb; border-radius: 10px; padding: 16px 14px; }
#plan .price-highlight-label { color: #b4d1bd; font-size: .63rem; letter-spacing: .12em; }
#plan .price-highlight-amount > strong { color: #f0f8ed; font-size: clamp(2rem,3vw,2.6rem); font-weight: 500; }
#plan .price-highlight-warning { color: #d7e9d7; font-size: .78rem; font-weight: 500; }
#plan :is(.price-highlight-detail,.price-highlight-amount > span) { color: #b7cbbd; font-size: .74rem; }
#plan .price-highlight-detail { line-height: 1.8; }
#plan .summary-badges { gap: 12px; margin-top: 16px; }
#plan .summary-badges > span { background: transparent; border: 0; padding: 0; font-size: .67rem; color: #a6cab5; }
#plan .summary-badges > span::before { content: '✓'; margin-right: 5px; }
#plan .summary-included { border-block: 1px solid var(--plan-line); padding-block: 17px; margin-top: 20px; }
#plan .summary-included summary { cursor: pointer; font-size: .77rem; color: #d6e5dc; }
#plan .summary-included h4 { display: none; }
#plan .summary-inclusions li { background: transparent; border: 0; padding: 6px 0; font-size: .7rem; }
#plan .summary-included > div > p { font-size: .68rem; color: #adc4b6; line-height: 1.8; }
#plan .summary-usage { background: transparent; border: 0; padding: 0; margin-top: 18px; }
#plan .summary-usage h4 { color: #dce8e1; font-size: .8rem; }
#plan .summary-usage-flow > span { background: #163024; color: #c3d6c7; padding: 10px; }
#plan .summary-usage-flow > span:last-child { background: #40301e; color: #e6ca9f; }
#plan .summary-usage-flow > span:last-child strong { color: #f5d7a9; }
#plan .summary-usage > p { color: #b8c4b9; font-size: .73rem; }
#plan .summary-service-note { font-size: .7rem; line-height: 1.9; color: #a6bdb0; }
#plan .summary-service-note a { display: block; margin-top: 7px; }
#plan .summary-contact { background: #ffffff03; border-color: var(--plan-line); color: #c4d6cb; font-size: .75rem; }
#plan .estimate-panel { background: #0e211b; border: 1px solid #89b19652; border-radius: 12px; }
#plan .estimate-total { background: #1c3e2b; border: 1px solid #9fb99c4d; border-radius: 8px; }
#plan :is(.estimate-score div,.summary-chips li) { background: #ffffff04; border-color: var(--plan-line); }
#plan .plan-reading-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 28px; margin-block: 28px 68px; padding: 18px 0; border-bottom: 1px solid var(--plan-line); font-size: .77rem; color: #b4cabe; }
#plan .plan-reading-links span { color: #829b8e; }
#plan .plan-reading-links a { text-underline-offset: 5px; text-decoration-color: #8caa9955; }
#plan .plan-journey { margin-top: 0; }
#plan :is(.plan-journey h3,.subscription-model h3) { font-size: clamp(1.4rem,2.5vw,1.9rem); }
#plan .plan-journey-steps { gap: 16px; }
#plan .plan-journey-steps li { border-radius: 16px; padding: 23px 17px; }
#plan .plan-journey-steps span { border: 0; background: #b8e6cb09; color: #a3c7b1; font-size: .72rem; }
#plan .plan-journey-steps strong { font-weight: 500; }
#plan .plan-journey-steps p { font-size: .74rem; line-height: 1.85; }
#plan .subscription-model { padding: 30px; margin-top: 36px; }
#plan .subscription-facts > div { border-color: #6b907a70; padding-left: 17px; }
#plan .subscription-facts p { font-size: .78rem; }
#plan .usage-notice { border-left: 1px solid var(--plan-line); padding: 32px; margin-top: 36px; }
#plan .usage-title-note { margin-top: 17px; font-size: .87rem; line-height: 1.8; }
#plan .usage-explanation p { font-size: .85rem; }
#plan .usage-explanation strong { color: #e1eae4; }
#plan :is(.usage-agreement,.growth-node,.growth-meter-card,.growth-invoice,.review-block,.review-managed,.launch-followups) { background: #050d10a6; border-color: var(--plan-line); border-radius: 14px; }
#plan :is(.usage-agreement li,.growth-stages) { background: #b1d2bd05; border-color: #8eb49b33; color: #bfd3c6; }
#plan .growth-play { background: #b1d2bd05; border-color: #8eb49b44; color: #c2dcca; }
#plan .growth-play:hover { background: #163427; }
#plan .growth-stages button[aria-pressed="true"] { background: #204030; border-color: #89ba9b66; color: #d6eddc; }
#plan .growth-meter { background: linear-gradient(to right,#142a1f 60%,#33281a 60%); border-color: #799e784a; }
#plan .growth-meter-extra { background: linear-gradient(90deg,#ba934e,#edce8a); }
#plan .growth-meter-included { background: linear-gradient(90deg,#376b4d,#a8ceae); }
#plan .audience-cost-rule > span { background: #153121; color: #c7d8cc; }
#plan .audience-cost-rule > span:last-child { background: #40301e; color: #e6ca9f; }
#plan :is(.usage-reminder,.price-change-note) { background: #152b20; border-color: #8eb79a55; border-left-color: #a1cba9; color: #c4daca; }
#plan .companion-site-price { background: #1d3c2b; border-color: #8baa9166; color: #dfeddf; }
#plan .review-block h4 { color: #b5d2bf; }
#plan .review-block p { color: var(--plan-copy); font-size: .85rem; }
#plan .review-detail { border-color: var(--plan-line); }
#plan .review-contact p { font-size: .85rem; line-height: 1.85; color: var(--plan-copy); }
#plan :is(.wizard-main,.build-summary) .btn-primary { background: #b8f7d7; border-color: #b8f7d7; color: #062116; }
#plan :is(.wizard-main,.build-summary) .btn-primary:hover { background: #ccf9e2; border-color: #ccf9e2; }
#plan :is(.choice input,.plain-check input) { accent-color: #9ec8aa; }
#plan :is(button,summary,input):focus-visible { outline: 2px solid #afd9bd; outline-offset: 4px; }
#plan .draft-note { font-size: .7rem; line-height: 1.9; }
@media(max-width:1050px) {
  #plan .plan-intro { gap: 36px; }
  #plan .configurator { grid-template-columns: minmax(0,1fr) 300px; gap: 18px; }
  #plan .wizard-main { padding: 26px; }
  #plan .brief-introduction { gap: 28px; }
  #plan .brief-assurances { flex-shrink: 1; }
}
@media(max-width:760px) {
  #plan { padding-top: 72px; }
  #plan .plan-intro { gap: 32px; }
  #plan .brief-introduction { display: block; margin-top: 48px; padding-top: 34px; }
  #plan .brief-assurances { margin-top: 18px; font-size: .75rem; }
  #plan .configurator { grid-template-columns: 1fr; margin-top: 22px; }
  #plan :is(.first-release-example,.wizard-main,.subscription-model,.usage-notice) { padding: 24px 20px; border-radius: 20px; }
  #plan .build-summary { position: static; padding: 22px 20px; }
  #plan .entry-paths { gap: 14px; }
  #plan .entry-path { padding: 22px; }
  #plan .step-position { align-items: start; }
  #plan #step-subcount { font-size: .64rem; }
  #plan .mobile-price { margin: 0 0 24px; padding: 14px; }
  #plan .mobile-price .price-highlight { margin-top: 10px; }
  #plan .price-highlight-amount > strong { font-size: 2rem; }
  #plan .plan-reading-links { justify-content: start; gap: 15px 22px; margin-bottom: 42px; }
  #plan .plan-reading-links span { width: 100%; }
  #plan .plan-journey-steps { gap: 12px; }
  #plan .plan-journey-steps li { padding: 18px 15px; }
  #plan .subscription-facts { gap: 22px; }
}
@media(max-width:380px) {
  #plan .step-position { display: block; }
  #plan #step-subcount { display: block; margin-top: 6px; }
}
@media(prefers-reduced-motion:reduce) { #plan .entry-path { transition: none; } }
@media(max-height:1000px) and (min-width:761px) { #plan .build-summary { position: static; } }
@media(max-width:760px) {
  #plan .mobile-price-details summary { display: grid; gap: 6px; cursor: pointer; list-style: none; }
  #plan .mobile-price-details summary::-webkit-details-marker { display: none; }
  #plan .mobile-amount { color: #bed2c2; font-size: .78rem; line-height: 1.4; }
  #plan .mobile-amount strong { color: #eef7ec; font-size: 1.7rem; font-weight: 500; letter-spacing: -.04em; }
  #plan .mobile-price-warning { color: #d1e4d2; font-size: .72rem; line-height: 1.7; }
  #plan .mobile-price-toggle { color: #acccb6; font-size: .68rem; text-decoration: underline; text-underline-offset: 4px; }
  #plan .mobile-price-details[open] .mobile-price-toggle { opacity: .7; }
}
@media(max-width:640px) {
  #plan :is(.choice-grid,.product-options > .choice-grid,.feature-options > .choice-grid) { grid-template-columns: minmax(0,1fr); }
  #plan .choice { padding: 16px; }
  #plan .feature-choice .choice-copy { display: grid; grid-template-columns: 24px minmax(0,1fr); column-gap: 12px; }
  #plan .feature-choice .choice-icon { grid-row: 1 / 3; margin: 0; }
  #plan .feature-choice small { grid-column: 2; }
  #plan .step-position { scroll-margin-top: 90px; }
  #plan .wizard-actions .btn { min-height: 48px; }
}
#plan .configurator.upload-mode { max-width: 900px; margin-inline: auto; }
#plan input[type="file"]::file-selector-button { border: 1px solid #92bba244; border-radius: 6px; background: #193429; color: #d7e9de; font: inherit; padding: 10px 14px; margin-right: 14px; cursor: pointer; }
#plan input[type="file"]::file-selector-button:hover { background: #244735; }

/* Brief entrances and quiet interaction feedback; no perpetual motion. */
#plan :is(.first-release-example,.plan-journey-steps li,.subscription-model,.entry-path) {
  transition: border-color .4s ease, box-shadow .4s ease;
}
@media(hover:hover) and (pointer:fine) {
  #plan :is(.first-release-example,.plan-journey-steps li,.subscription-model):hover {
    border-color: #b8e2c93d;
    box-shadow: inset 0 1px 0 #d7f7e011,0 22px 48px #00000029,0 0 25px #73b98f05;
  }
}
@media(prefers-reduced-motion:no-preference) {
  #plan .premium-enter { animation: plan-surface-enter .75s cubic-bezier(.2,.65,.3,1) both; }
  #plan #wizard-step > :is(.step-heading,.step-description) { animation: plan-copy-enter .32s ease-out; }
  #plan .choice { transition: background .22s ease,border-color .22s ease,box-shadow .22s ease; }
}
@keyframes plan-surface-enter { from { opacity: .65; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes plan-copy-enter { from { opacity: .7; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media(prefers-reduced-motion:reduce) {
  #plan :is(.first-release-example,.plan-journey-steps li,.subscription-model,.entry-path,.choice) { transition: none; }
  #plan .premium-enter,#plan #wizard-step > :is(.step-heading,.step-description) { animation: none; }
}
