/* Shared slot grid and proportionate typography after the 25% size increase. */
.ribbon-collage { --ribbon-unit:224px; --ribbon-gap:14px; }
.ribbon-group, .ribbon-track-second .ribbon-group { height:var(--ribbon-unit); gap:var(--ribbon-gap); align-items:stretch; }
.ribbon-group .ribbon-card { width:var(--ribbon-unit); height:var(--ribbon-unit); margin:0; align-self:stretch; }
.ribbon-group .ribbon-card-slot-2 { width:calc(var(--ribbon-unit) * 2 + var(--ribbon-gap)); }
.ribbon-group .ribbon-card { display:grid; grid-template-rows:1fr auto; gap:12px; padding:20px; }
.ribbon-group .ribbon-effect { max-width:100%; font-size:30px; line-height:1.12; font-weight:400; overflow-wrap:normal; text-wrap:balance; }
.ribbon-group .ribbon-card-slot-2 .ribbon-effect { max-width:calc(100% - 100px); }
.ribbon-group .ribbon-solution { display:flex; width:100%; max-width:100%; min-width:0; align-items:flex-end; gap:10px; }
.ribbon-group .ribbon-solution > .ribbon-product { flex:1; min-width:0; display:block; font-size:15px; line-height:1.35; font-weight:400; letter-spacing:0; overflow-wrap:normal; text-wrap:pretty; }
.ribbon-group .ribbon-solution > [aria-hidden] { flex:none; font-size:25px; line-height:1; }
.ribbon-card img { opacity:.13; width:150px; right:-12px; bottom:8px; }
.ribbon-card-slot-2 img { width:180px; bottom:40px; opacity:.45; }
.ribbon-dark.ribbon-card img { opacity:.13; }
/* The full-screen workspace contains the same navigation node as every route. */
.config-dialog[open] { display:flex; flex-direction:column; }
.config-dialog .builder-main.config-main { flex:1; min-height:0; height:auto; }
.workspace-title { display:flex; align-items:center; gap:12px; min-width:0; }
.workspace-back { display:grid; place-items:center; flex:none; width:32px; height:32px; background:transparent; border:1px solid var(--line); border-radius:8px; font-size:20px; }
.workspace-back:hover { background:#e6eadf; }
.scene-popover .popover-solution { width:100%; }
.scene-popover { max-width:370px; overflow-y:hidden; }
.scene-popover .popover-solution > span:first-child { flex:1; min-width:0; }
.scene-popover .popover-solution b { font-weight:700; font-size:17.5px; line-height:1.25; }
.scene-popover .popover-offer-meta { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:12px; }
.scene-popover .popover-offer-meta small { flex:1; font-size:12.5px; line-height:1.35; }
.scene-popover .popover-offer-meta strong { flex:none; white-space:nowrap; font-size:15px; font-weight:600; }
.popover-offer-row + .popover-offer-row { border-top:1px solid var(--line); }
.popover-roi { display:block; width:100%; text-align:left; padding:0 10px 9px; background:transparent; color:var(--accent-dark); font-size:12.5px; }
.solution-request-block .offer-action-buttons { display:flex; flex-direction:column; gap:10px; align-items:stretch; }
.roi-entry-summary { padding:14px 16px; margin-bottom:16px; border:1px solid #d9e4cc; border-radius:12px; background:#f0f5e7; }
.roi-entry-summary strong { display:block; font-size:17.5px; font-weight:500; }
.roi-entry-summary small { display:block; margin-top:5px; color:var(--muted); font-size:12.5px; line-height:1.5; }
.roi-cost-note { font-size:12.5px; line-height:1.5; color:var(--muted); margin:0 0 15px; }
.roi-no-team { margin:14px 0; padding:16px; background:#f1f5e8; border-radius:10px; font-size:15px; line-height:1.5; }
.roi-no-team .button { margin-top:12px; }
.mob-primary-actions { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
.mob-primary-actions [data-mob-direct-request], #mob-results-request { background:var(--accent); color:var(--ink); border-color:#b7ce7c; font-weight:600; box-shadow:0 5px 16px #58733214; }
#mob-brief-form .flow-actions #mob-scan { background:transparent; border:1px solid var(--line); color:var(--muted); font-weight:400; }
#mob-brief-form .mob-direct { width:auto; margin:0; font-size:16.25px; padding:12px 20px; color:var(--ink); }
.mob-decision-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; flex:1; min-height:0; }
.mob-request-panel { display:flex; flex-direction:column; gap:18px; min-width:0; border:1px solid #d5e2c3; background:#f3f7ec; padding:22px; border-radius:14px; }
.mob-request-panel h3 { font-size:25px; font-weight:500; line-height:1.2; }
.mob-request-panel > p { font-size:16.25px; line-height:1.55; overflow-wrap:anywhere; }
.mob-request-panel .mob-primary-actions { margin:auto 0 0; flex-direction:column; }
.mob-similar-panel { min-height:0; display:flex; flex-direction:column; }
.mob-similar-panel > h3 { font-size:17.5px; font-weight:500; margin:0 0 12px; }
.mob-similar-panel #mob-results { min-height:0; flex:1; overflow:auto; }
.mob-similar-panel .mob-match-card { margin:0; }
.mob-similar-pages { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; font-size:13.75px; }
.mob-similar-pages button { min-width:38px; min-height:34px; background:#f2f6eb; border:1px solid var(--line); border-radius:7px; }
.mob-similar-pages button:disabled { opacity:.35; }
.mob-results-footer .mob-proposal-action { min-height:0; }
.mob-results-footer #mob-selection-note { margin:0; }
@media(max-width:760px){
 .ribbon-collage { --ribbon-unit:210px; }
 .ribbon-group .ribbon-effect { font-size:27.5px; }
 .ribbon-group .ribbon-solution > .ribbon-product { font-size:13.75px; }
 .mob-decision-grid { grid-template-columns:1fr; overflow:auto; }
 .mob-request-panel { padding:16px; gap:12px; }
 .mob-request-panel h3 { font-size:22.5px; }
 .mob-request-panel > p { font-size:15px; }
 .mob-primary-actions .button { width:100%; }
 .solution-request-block .offer-action-buttons { width:100%; }
}

.solution-card-bottom { flex-wrap:wrap; gap:10px 14px; }
.solution-card-bottom .concept-label { width:100%; }
.mob-request-panel .mob-task-details { font-size:13.75px; }
.mob-similar-panel .mob-method { margin-top:10px; font-size:13.75px; }
.mob-request-panel { overflow:auto; }
