/* GE2studio 1.10.42 — readability and composition, existing identity retained. */
body.ge2-quality{--ge2q-ink:#232520;--ge2q-muted:#57534d;--ge2q-paper:#f8f3eb;--ge2q-line:rgba(45,39,31,.16)}
.ge2-mode-picker{box-sizing:border-box;width:min(48rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:clamp(1.25rem,4vw,2.5rem);border:1px solid #83766a;border-radius:1.5rem;background:#f8f3eb;color:#232520;overflow:auto}
.ge2-mode-picker::backdrop{background:rgba(16,19,17,.72)}
.ge2-mode-picker h2{font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.2;margin:0 0 1rem}
.ge2-mode-picker p{font-size:1rem;line-height:1.6}
.ge2-mode-picker :is([role=group],[role=tablist]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.ge2-mode-picker button,.ge2-mode-picker-trigger{font:inherit;min-height:48px;padding:.8rem 1rem;border:1px solid #83766a;border-radius:.75rem;background:#fffdf8;color:#232520;white-space:normal;cursor:pointer}
.ge2-mode-picker button:is([aria-selected=true],[aria-pressed=true]){background:#232520;color:#fffdf8;border-color:#232520}
.ge2-mode-picker button small{display:block;margin-top:.5rem;font-size:.875rem;line-height:1.4}
/* A moved tab group keeps its original button styles. Stack each mode name
   above its availability so the two labels never compete for a narrow row. */
.ge2-mode-picker :is([role=group],[role=tablist])>button{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.35rem;min-width:0;max-width:100%;text-align:left}
.ge2-mode-picker :is([role=group],[role=tablist])>button small{margin-top:0}
.ge2q-after-decision{margin:1.5rem 0;padding:1.25rem;border:1px solid currentColor;border-radius:1rem;font-size:1rem;line-height:1.6}
body.ge2-quality .intel20-cycle-grid.ge2q-five-steps{grid-template-columns:repeat(5,minmax(0,1fr))}
body.ge2-quality .intel20-cycle-grid.ge2q-five-steps li{min-height:0}
@media(max-width:1100px) and (min-width:761px){body.ge2-quality .intel20-cycle-grid.ge2q-five-steps{grid-template-columns:repeat(6,minmax(0,1fr))}body.ge2-quality .intel20-cycle-grid.ge2q-five-steps li{grid-column:span 2}body.ge2-quality .intel20-cycle-grid.ge2q-five-steps li:nth-child(n+4){grid-column:span 3}}
@media(max-width:760px){body.ge2-quality .intel20-cycle-grid.ge2q-five-steps{grid-template-columns:repeat(2,minmax(0,1fr))}body.ge2-quality .intel20-cycle-grid.ge2q-five-steps li:last-child{grid-column:1/-1}}
@media(max-width:480px){.ge2-mode-picker :is([role=group],[role=tablist]){grid-template-columns:1fr}body.ge2-quality .intel20-cycle-grid.ge2q-five-steps{grid-template-columns:1fr}}
.ge2-quality main :is(.section-copy,.section-heading,.ge2mx__compact-main,.ge2mx__compact-action){min-width:0}
.ge2-quality main :is(.section-copy>p,.section-heading>p,.seo-hero-copy>p,.ge2mx__lede,.ge2mx__compact-main>p:not(.ge2mx__eyebrow)){font-size:clamp(1rem,.97rem + .14vw,1.125rem);line-height:1.65;max-width:68ch}
.ge2-quality main :is(.content-list li>span,.seo-challenge-grid p,.seo-capability-list p,.principle-grid article>p){font-size:1rem;line-height:1.6;overflow-wrap:break-word}
/* Shared editorial labels sit on the paper page; decision labels sit on its
   charcoal board. Reuse the existing accessible copper and apricot accents. */
.ge2-quality .seo-landing :is(.seo-challenges>header>div>span,.seo-decision-copy>span),
.ge2-quality :is(.seo-landing,.tool-detail-page) .seo-related>div>span,
.ge2-quality .tool-detail-page .tool-faq>header>span{color:#963812;font-size:.875rem;line-height:1.5;letter-spacing:.08em}
.ge2-quality .seo-landing .seo-decision-board :is(.seo-decision-observed>span,.seo-decision-columns article>span),
.ge2-quality .seo-landing .seo-decision-board>footer>span{color:#f3a578;font-size:.875rem;line-height:1.5;letter-spacing:.08em}
/* Fictitious-scenario notices remain legible when the board header wraps. */
.ge2-quality .seo-landing .seo-decision-board>header{flex-wrap:wrap;align-items:flex-start;color:#ded8cf;font-size:.875rem;line-height:1.5;letter-spacing:.03em;text-transform:none}
.ge2-quality .seo-landing .seo-decision-board>header>small{font-size:inherit}
.ge2-quality :is(.availability-note,.form-help,.form-next-step,.ge2q-form-help,.ge2mx__safety,.ge2mx__demo-note){font-size:.9rem!important;line-height:1.55!important}
.ge2-quality :is(.product-status,.demo-badge,.ge2mx__status){font-size:.8125rem;line-height:1.4;white-space:normal}
.ge2-quality main :is(h1,h2,h3){overflow-wrap:break-word;text-wrap:balance}
.ge2-quality main .ge2q-manager-context{font-size:1rem;line-height:1.65;margin:1rem 0}
.ge2-quality main :is(.seo-challenge-grid,.offer-quote-lines,.principle-grid){align-items:stretch}
.ge2-quality main :is(.seo-challenge-grid,.offer-quote-lines,.principle-grid)>article{min-width:0;display:flex;flex-direction:column}
.ge2-quality main :is(.seo-challenge-grid,.offer-quote-lines,.principle-grid)>article>a:last-child{margin-top:auto}
.ge2-quality .site-header .ge2-mobile-demo-cta{font-size:.875rem!important;line-height:1.25!important}
.ge2-quality .site-header .ge2-mobile-demo-cta::before{content:none!important;display:none!important}
.ge2-quality :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #ad4318!important;outline-offset:4px!important;box-shadow:0 0 0 2px #fffdf8!important}
.ge2-quality :is(button,.pill,summary){touch-action:manipulation}
.ge2-quality :is(input,select,textarea){font-size:1rem}
.ge2-quality input[aria-invalid="true"],.ge2-quality select[aria-invalid="true"],.ge2-quality textarea[aria-invalid="true"]{border-color:#aa2727!important;outline-color:#aa2727}
.ge2-quality :is([id="form"],[id="planning"],[id="manager"],[id="manager-modes"],[id="satisfaction"],[id="copilotes"]){scroll-margin-top:7rem}
.ge2q-context{width:min(1180px,calc(100% - 4rem));margin:clamp(2rem,4vw,4rem) auto;padding:clamp(1.35rem,3vw,2.75rem);border:1px solid var(--ge2q-line);border-radius:1.5rem;background:var(--ge2q-paper);color:var(--ge2q-ink)}
.ge2q-context .ge2q-eyebrow{margin:0 0 .85rem;color:#963812;font:700 .8125rem/1.5 Manrope,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.ge2q-context h2{margin:0 0 1rem;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.12;max-width:30ch}
.ge2q-context>p:not(.ge2q-eyebrow){max-width:78ch;font-size:1rem;line-height:1.65;color:var(--ge2q-muted)}
.ge2q-context .ge2q-caption{margin-top:1.25rem;font-size:.875rem!important}
.ge2q-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;margin:1.75rem 0}
.ge2q-grid article{min-width:0;padding-top:1rem;border-top:1px solid var(--ge2q-line)}
.ge2q-grid h3{margin:0 0 .65rem;font-size:1.2rem;line-height:1.25;color:var(--ge2q-ink)}
.ge2q-grid p{margin:0;font-size:1rem;line-height:1.6;color:var(--ge2q-muted)}
.ge2q-form-help{margin:0 0 1rem;color:#57534d;max-width:64ch}
.ge2-quality .demo-form :is(input:not([type="checkbox"]),select){min-height:48px}
.ge2-quality .demo-form button[type="submit"]{min-height:48px;white-space:normal;text-align:center}
.ge2-quality .demo-form .privacy-check{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:.75rem;align-items:start}
.ge2-quality .demo-form .privacy-check input[type="checkbox"]{width:1.25rem;min-width:1.25rem;max-width:1.25rem;height:1.25rem;min-height:1.25rem;margin:.3rem 0 0;padding:0;accent-color:var(--orange-bright)}
.ge2-quality .demo-form .privacy-check>span{min-width:0;font-size:.9rem;line-height:1.6}
.ge2-quality .satisfaction-score button{min-width:0;min-height:48px}
.ge2-quality .satisfaction-dimensions button{min-height:44px}
.ge2-quality .ge2q-data-summary{margin:1rem 0;padding:.8rem 1rem;border:1px solid currentColor;border-radius:.75rem;font-size:.875rem;line-height:1.55}
.ge2-quality .ge2q-data-summary summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.ge2-quality .ge2q-data-summary p{font-size:.875rem;line-height:1.55}
.ge2-quality .ge2-assistant-message{font-size:.875rem;line-height:1.6}
.ge2-quality .ge2-assistant-message h3{font-size:1rem;line-height:1.4}
.ge2-quality .ge2-assistant-note{font-size:.875rem;color:#d4cec4}
.ge2-quality :is(.ge2-assistant-suggestions,.ge2-assistant-related) button{font-size:.8125rem;line-height:1.5;min-height:44px;color:#e3ddd4}
.ge2-quality .ge2-assistant-sources a{font-size:.8125rem;line-height:1.5;min-height:44px}
/* Assistant instructions and microphone notices remain readable in every state. */
.ge2-quality .ge2-contact-subview-head>p{font-size:.875rem;line-height:1.6;color:#d4cec4}
.ge2-quality .ge2-assistant-voice-status{font-size:.875rem;line-height:1.5}
.ge2-quality .ge2-assistant-voice-note{font-size:.875rem;line-height:1.6;color:#d4cec4}
.ge2-quality .ge2-contact-action strong{font-size:1rem;line-height:1.4}
.ge2-quality .ge2-contact-action small{font-size:.875rem;line-height:1.5;color:#d4cec4}
/* The public calculator has a paper heading above its dark controls. */
.ge2-quality .tool-simulator-stage .simulation-heading h2{color:var(--ge2q-ink)}
.ge2-quality .tool-simulator-stage :is(.simulation-index,.simulation-kicker){color:#963812}
.ge2-quality .tool-simulator-stage .simulation-status{color:var(--ge2q-muted)}
.ge2-quality .tool-simulator-stage .simulation-status>span:not(.demo-badge){color:var(--ge2q-muted);font-size:.875rem;line-height:1.55}
.ge2-quality .tool-simulator-stage .simulation-status>.demo-badge{color:#963812;background:#9a3b1614;border-color:#9a3b1661}
/* Signed contribution and monthly amounts stay whole; currency may move below. */
.ge2-quality .profitability-demo .simulation-outcome-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:0 1.5rem}
.ge2-quality .profitability-demo .simulation-outcome-grid article{border-right:0;padding-inline:0}
.ge2-quality .profitability-demo :is(.simulation-primary-result output,[data-profit-output="monthly"]){display:flex;flex-wrap:wrap;align-items:baseline;column-gap:0;row-gap:.2em}
.ge2-quality .profitability-demo :is(.simulation-primary-result output,[data-profit-output="monthly"]) :is(.ge2-money-amount,.ge2-money-currency){flex:0 0 auto;white-space:nowrap;font:inherit;color:inherit}
@media(max-width:430px){
 .ge2-quality .profitability-demo .simulation-primary-result{padding-inline:0}
 .ge2-quality .profitability-demo .simulation-primary-result>span,
 .ge2-quality .profitability-demo .simulation-primary-result>small{display:block;margin-inline:16px}
 .ge2-quality .profitability-demo .simulation-primary-result output{justify-content:center}
}
/* Author display:grid rules must respect the calculator's validity state. */
.ge2-quality .simulation-results>[hidden]{display:none}
@media(min-width:761px) and (max-width:1100px){
 body.ge2-quality .decision-journey-steps{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 body.ge2-quality .decision-journey-steps>li{grid-column:span 2!important}
 body.ge2-quality .decision-journey-steps>li:nth-child(4),body.ge2-quality .decision-journey-steps>li:nth-child(5){grid-column:span 3!important}
 .ge2q-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .ge2q-context{width:calc(100% - 2rem);margin:2rem auto;padding:1.25rem;border-radius:1.25rem}
 .ge2q-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
 body.ge2-quality main :is(.section-copy>h2,.section-heading>h2,.ge2mx__header>h2){line-height:1.1!important;letter-spacing:-.035em!important}
 body.ge2-quality main .ge2mx--signature h2{font-size:clamp(2rem,8.6vw,3rem)!important;line-height:1.08!important;max-width:17ch!important}
 .ge2-quality main :is(.section-copy,.section-heading,.ge2mx__compact-main){overflow:visible}
 .ge2-quality .ge2mx--compact{display:grid;grid-template-columns:1fr;gap:1.25rem}
 .ge2-quality .ge2mx__compact-action{min-width:0;max-width:100%}
 .ge2-quality :is(.ge2mx__link,.pill){max-width:100%;overflow-wrap:break-word}
 .ge2-quality .ge2-contact-panel{max-height:calc(var(--ge2q-viewport-height,100dvh) - 1.5rem);overflow-y:auto;overscroll-behavior:contain}
 .ge2-quality .ge2-contact-panel-head{position:sticky;top:0;z-index:3;background:#151714;padding-block:.5rem}
 .ge2-quality .intel20-rail a>small{font-size:.8125rem!important;line-height:1.45}
 .ge2-quality .intel20-rail a>strong{font-size:1rem!important;line-height:1.3}
 .ge2-quality .intel20-cycle-grid p{font-size:1rem!important;line-height:1.55}
 .ge2-quality .satisfaction-score button small{font-size:.75rem;line-height:1.3;white-space:normal}
 .ge2-quality .demo-conversion-copy h1{font-size:clamp(2.25rem,10vw,3.5rem);line-height:1.06}
}
@media(max-width:480px){
 .ge2q-grid{grid-template-columns:1fr}
 .ge2-quality .form-optional summary{grid-template-columns:minmax(0,1fr) 22px;gap:.35rem .5rem}
 .ge2-quality .form-optional summary>span{grid-column:1;grid-row:2;justify-self:start}
 .ge2-quality .form-optional summary::after{grid-column:2;grid-row:1 / 3}
 .ge2-quality .ge2q-context .pill{display:flex;justify-content:center;width:100%;white-space:normal;min-height:48px}
 .ge2-quality .satisfaction-score [role="radiogroup"]{gap:.25rem}
}
@media(prefers-reduced-motion:reduce){
 .ge2-quality{scroll-behavior:auto!important}
 .ge2-quality *,.ge2-quality *::before,.ge2-quality *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(forced-colors:active){
 .ge2q-context,.ge2q-grid article{border-color:CanvasText;background:Canvas;color:CanvasText;box-shadow:none}
 .ge2-quality :is(a,button,input,select,textarea,summary):focus-visible{outline-color:Highlight!important;box-shadow:none!important}
}
