/* Approved front-facing composition, 11 October 2026. Opt-in on solutions only.
   Native product captures carry their content; this layer carries the light. */
.solution-scene[data-artifact-role="solution"] {
  --ss-shadow-contact:2 7 16; --ss-shadow-near:3 8 19; --ss-shadow-far:5 11 24;
  --ss-contact-alpha:.8; --ss-near-alpha:.57; --ss-far-alpha:.4; --ss-ambient-alpha:.27;
  --ss-light-sun:183 140 92; --ss-light-lilac:108 116 202; --ss-light-cream:116 145 182;
  --ss-radiance:.46; --ss-sun-strength:.24; --ss-cream-strength:.16; --ss-lilac-strength:.24; --ss-bounce-strength:.11; --ss-light-blur:1.8cqw; --ss-glass-color:46 49 70; --ss-glass-alpha:.68;
  --ss-shine-alpha:.066; --ss-glaze-alpha:.022;
  position:relative; display:block; width:100%; height:auto;
  aspect-ratio:calc(var(--ss-canvas-w) / var(--ss-canvas-h));
  container-type:inline-size; isolation:isolate; overflow:visible;
  margin:0; padding:0; border:0; border-radius:0; outline:0;
  background:transparent; box-shadow:none; transform:none; filter:none;
}
html.theme-light .solution-scene[data-artifact-role="solution"],
html[data-theme="light"] .solution-scene[data-artifact-role="solution"] {
  --ss-shadow-contact:62 57 54; --ss-shadow-near:82 73 65; --ss-shadow-far:114 96 82;
  --ss-contact-alpha:.34; --ss-near-alpha:.24; --ss-far-alpha:.19; --ss-ambient-alpha:.13;
  --ss-light-sun:239 176 72; --ss-light-lilac:144 124 222; --ss-light-cream:255 234 195;
  --ss-radiance:.74; --ss-sun-strength:.42; --ss-cream-strength:.29; --ss-lilac-strength:.21; --ss-bounce-strength:.17; --ss-light-blur:2.2cqw; --ss-glass-color:255 255 255; --ss-glass-alpha:.58;
  --ss-shine-alpha:.43; --ss-glaze-alpha:.07;
}
.solution-scene[data-artifact-role="solution"]::before {
  content:""; position:absolute; inset:6% 3% 9%; z-index:-1; pointer-events:none;
  opacity:var(--ss-radiance); filter:blur(var(--ss-light-blur));
  background:
    radial-gradient(ellipse 27% 26% at 78% 80%,rgb(var(--ss-light-sun)/var(--ss-sun-strength)),transparent 100%),
    radial-gradient(ellipse 22% 27% at 84% 31%,rgb(var(--ss-light-cream)/var(--ss-cream-strength)),transparent 100%),
    radial-gradient(ellipse 30% 32% at 26% 60%,rgb(var(--ss-light-lilac)/var(--ss-lilac-strength)),transparent 100%),
    radial-gradient(ellipse 30% 24% at 54% 79%,rgb(var(--ss-light-sun)/var(--ss-bounce-strength)),transparent 100%);
}
.solution-scene[data-artifact-role="solution"] > .solution-scene__piece {
  position:absolute; display:block; margin:0; padding:0; height:auto; max-width:none;
  left:calc(var(--ss-x) / var(--ss-canvas-w) * 100%);
  top:calc(var(--ss-y) / var(--ss-canvas-h) * 100%);
  width:calc(var(--ss-w) / var(--ss-canvas-w) * 100%);
  z-index:var(--ss-z); overflow:visible; border:0; outline:0;
  border-radius:calc(var(--ss-radius,12) / var(--ss-canvas-w) * 100cqw);
  background:none; transform:none; filter:none; transition:none;
  box-shadow:
    .10cqw .22cqw .50cqw -.03cqw rgb(var(--ss-shadow-contact)/var(--ss-contact-alpha)),
    .40cqw .88cqw 1.80cqw -.12cqw rgb(var(--ss-shadow-near)/var(--ss-near-alpha)),
    .90cqw 1.98cqw 4.30cqw -.30cqw rgb(var(--ss-shadow-far)/var(--ss-far-alpha)),
    1.70cqw 3.74cqw 8cqw -.70cqw rgb(var(--ss-shadow-far)/var(--ss-ambient-alpha));
}
.solution-scene[data-artifact-role="solution"] > .solution-scene__piece[data-depth="high"] {
  box-shadow:
    .12cqw .26cqw .60cqw -.03cqw rgb(var(--ss-shadow-contact)/var(--ss-contact-alpha)),
    .50cqw 1.10cqw 2.20cqw -.15cqw rgb(var(--ss-shadow-near)/var(--ss-near-alpha)),
    1.20cqw 2.64cqw 5.50cqw -.25cqw rgb(var(--ss-shadow-far)/var(--ss-far-alpha)),
    2.40cqw 5.28cqw 11.20cqw -.80cqw rgb(var(--ss-shadow-far)/var(--ss-ambient-alpha));
}
.solution-scene[data-artifact-role="solution"] > .solution-scene__piece > img,
.solution-scene[data-artifact-role="solution"] > .solution-scene__piece > noscript img {
  position:relative; display:block; width:100%; height:auto; max-width:none;
  margin:0; border:0; border-radius:inherit; object-fit:contain; filter:none; transform:none;
  background:none; box-shadow:none;
}
.solution-scene__piece > noscript > picture {display:block;border-radius:inherit;}
.solution-zoom {display:block;margin:12px 0 16px auto;padding:10px 0;border:0;background:none;color:var(--fg-soft);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px;}
.solution-zoom:hover {color:var(--fg);}
.case-decisions {padding-block:40px;}
.case-decisions > h2 {margin:0 0 24px;font:500 24px/1.3 var(--font-body,system-ui);letter-spacing:-.02em;}
.case-decisions__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
.case-decisions__grid > a {position:relative;display:block;padding:0 24px 12px 0;color:inherit;text-decoration:none;}
.case-decisions__number {display:block;margin-bottom:14px;font:500 12px/1.4 var(--font-body,system-ui);letter-spacing:.08em;color:var(--hl,#bc643d);}
.case-decisions__grid h3 {margin:0 0 12px;font:500 20px/1.3 var(--font-body,system-ui);letter-spacing:-.02em;}
.case-decisions__grid p {margin:0;font:400 14px/1.6 var(--font-body,system-ui);color:var(--fg-soft);}
.case-decisions__arrow {position:absolute;right:0;top:30px;color:var(--hl,#bc643d);font-size:22px;}
.case-decisions__grid > a:hover h3 {text-decoration:underline;text-underline-offset:5px;}
.case-decisions__grid > a:focus-visible {outline:2px solid var(--hl,#bc643d);outline-offset:8px;}
@media(max-width:700px) {
  .case-decisions {padding-block:32px;}
  .case-decisions__grid {grid-template-columns:1fr;gap:24px;}
  .case-decisions__grid h3 {font-size:19px;}
  .case-decisions__number {margin-bottom:8px;}
}
.solution-viewer {--viewer-bg:#0b1421;--viewer-fg:#f4efe7;--viewer-muted:#aab4c3;--viewer-control:#1b2737;box-sizing:border-box;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:20px 28px;background:var(--viewer-bg);color:var(--viewer-fg);border:0;overflow:hidden;}
html.theme-light .solution-viewer {--viewer-bg:#f8f5ee;--viewer-fg:#101b2a;--viewer-muted:#625e57;--viewer-control:#e9e5dc;}
.solution-viewer[open] {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;}
.solution-viewer > * {min-width:0;}
.solution-viewer::backdrop {background:rgb(5 10 20 / .8);}
.solution-viewer__bar,.solution-viewer__tools,.solution-viewer__foot {display:flex;align-items:center;justify-content:space-between;gap:20px;}
.solution-viewer__bar h2 {font:500 clamp(16px,2vw,22px)/1.35 var(--font-body,system-ui);margin:0;max-width:65ch;min-width:0;flex:1;}
.solution-viewer__close,.solution-viewer__screens > button {flex-shrink:0;}
.solution-viewer button,.solution-viewer__original {font:500 14px/1.3 var(--font-body,system-ui);color:inherit;}
.solution-viewer button {background:var(--viewer-control);border:0;border-radius:8px;min-height:44px;min-width:44px;padding:10px 14px;cursor:pointer;white-space:nowrap;}
.solution-viewer button[aria-pressed="true"] {background:var(--viewer-fg);color:var(--viewer-bg);}
.solution-viewer button:disabled {opacity:.35;cursor:default;}
.solution-viewer :focus-visible,.solution-zoom:focus-visible {outline:2px solid var(--hl,#bd663e);outline-offset:3px;}
.solution-viewer__screens,.solution-viewer__zoom {display:flex;align-items:center;gap:6px;}
.solution-viewer__screens {overflow-x:auto;min-width:0;padding:4px;}
.solution-viewer__zoom {flex-shrink:0;}
.solution-viewer output {min-width:58px;text-align:center;font:500 13px/1.3 system-ui;font-variant-numeric:tabular-nums;}
.solution-viewer__viewport {overflow:auto;overscroll-behavior:contain;min-height:0;border-radius:10px;background:rgb(127 127 127 / .055);cursor:grab;}
.solution-viewer__viewport.is-dragging {cursor:grabbing;user-select:none;}
.solution-viewer__stage {display:flex;align-items:center;justify-content:center;transition:none!important;}
.solution-viewer__image {display:block;max-width:none!important;max-height:none!important;margin:16px;border-radius:6px;object-fit:contain;box-shadow:0 8px 28px rgb(0 0 0 / .14);}
.solution-viewer__hint {margin:0;font:400 12px/1.5 var(--font-body,system-ui);color:var(--viewer-muted);}
.solution-viewer__original {text-underline-offset:4px;white-space:nowrap;padding-block:10px;}
.solution-viewer__error {position:absolute;bottom:80px;left:28px;padding:14px;background:var(--viewer-control);font:400 14px/1.5 system-ui;}
@media (max-width:700px) {
  .solution-viewer {padding:12px 12px max(12px,env(safe-area-inset-bottom));}
  .solution-viewer__bar {align-items:flex-start;gap:12px;}
  .solution-viewer__bar h2 {font-size:15px;}
  .solution-viewer__close {font-size:12px!important;}
  .solution-viewer__tools {flex-wrap:wrap;gap:8px;}
  .solution-viewer__screens {width:100%;}
  .solution-viewer__zoom {margin-left:auto;}
  .solution-viewer__foot {align-items:flex-start;gap:8px;flex-direction:column;}
  .solution-viewer__hint {font-size:11px;}
  .solution-viewer__original {font-size:12px;}
}
.solution-scene[data-artifact-role="solution"] > .solution-scene__piece > .solution-image--light {display:none;}
html.theme-light .solution-scene[data-artifact-role="solution"] > .solution-scene__piece > .solution-image--dark,
html[data-theme="light"] .solution-scene[data-artifact-role="solution"] > .solution-scene__piece > .solution-image--dark {display:none;}
html.theme-light .solution-scene[data-artifact-role="solution"] > .solution-scene__piece > .solution-image--light,
html[data-theme="light"] .solution-scene[data-artifact-role="solution"] > .solution-scene__piece > .solution-image--light {display:block;}
.solution-scene[data-artifact-role="solution"] > .solution-scene__piece--glass {
  background:
    linear-gradient(118deg,rgb(255 255 255 / var(--ss-shine-alpha)),transparent 48%,rgb(var(--ss-light-cream)/.10)),
    rgb(var(--ss-glass-color)/var(--ss-glass-alpha));
  -webkit-backdrop-filter:blur(.85cqw) saturate(1.25);
  backdrop-filter:blur(.85cqw) saturate(1.25);
}
html:not(.theme-light):not([data-theme="light"]) .solution-scene[data-artifact-role="solution"] > .solution-scene__piece--glass[data-surface-theme="light"] {
  --ss-glass-color:255 255 255; --ss-glass-alpha:.86; --ss-shine-alpha:.35;
}
.solution-scene[data-artifact-role="solution"] > .solution-scene__piece:not(.solution-scene__piece--glass)::after {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:
    linear-gradient(117deg,rgb(255 255 255 / var(--ss-glaze-alpha)),transparent 38%),
    radial-gradient(ellipse at 98% 98%,rgb(var(--ss-light-sun)/var(--ss-glaze-alpha)),transparent 52%);
}
.solution-scene[data-artifact-role="solution"]:focus-visible {outline:2px solid var(--hl,#d5a66f);outline-offset:8px;}
.solution-document {margin-top:24px;}
.solution-document > summary {padding-block:12px;cursor:pointer;color:var(--fg-soft);font:inherit;font-size:13px;text-underline-offset:4px;}
.solution-document[open] > figure {margin-top:16px;}
@supports not (backdrop-filter:blur(1px)) {
  .solution-scene[data-artifact-role="solution"] > .solution-scene__piece--glass {background-color:rgb(var(--ss-glass-color)/.94);}
}
