.gen-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:2.5rem;display:grid}.gen-form fieldset{border:0;min-width:0;margin:0 0 1.75rem;padding:0}.gen-form legend{letter-spacing:.16em;text-transform:uppercase;color:var(--color-graphite-400);margin-bottom:.75rem;padding:0;font-size:.7rem;font-weight:600}.gen-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.gen-field{margin-bottom:1rem;display:block}.gen-field>span{color:var(--color-graphite-900);font-size:.85rem;font-weight:600;display:block}.gen-field small{color:var(--color-graphite-400);margin-top:.3rem;font-size:.75rem;display:block}.gen-field .gen-error{color:#b4232a}.gen-form .gen-field input:not([type=checkbox]),.gen-form .gen-field select,.gen-form .gen-field textarea{margin-top:.4rem;padding:.8rem .9rem}.gen-form textarea{resize:vertical;min-height:4.2rem}.gen-check{cursor:pointer;align-items:flex-start;gap:.65rem;margin-bottom:.9rem;font-size:.88rem;line-height:1.5;display:flex}.gen-check input{width:1rem;height:1rem;accent-color:var(--color-signal-600);flex:none;margin-top:.25rem}.gen-preview{position:sticky;top:6rem}.gen-frame{aspect-ratio:210/297;border:1px solid var(--marketing-rule);width:100%;box-shadow:0 .25rem .5rem color-mix(in srgb, var(--color-graphite-900) 4%, transparent), 0 1.5rem 3rem -1.5rem color-mix(in srgb, var(--color-graphite-900) 22%, transparent);background:#fff;border-radius:.9rem}.gen-placeholder{aspect-ratio:210/297;border:1px dashed var(--color-graphite-300);text-align:center;color:var(--color-graphite-400);background:var(--color-graphite-50);border-radius:.9rem;place-items:center;padding:2rem;font-size:.9rem;line-height:1.7;display:grid}.gen-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}.gen-actions .btn-metal[disabled],.gen-actions .secondary[disabled]{opacity:.45;cursor:not-allowed}.gen-note{color:var(--color-graphite-400);margin-top:.9rem;font-size:.78rem;line-height:1.65}.gen-status{color:#b4232a;min-height:1.2rem;margin-top:.7rem;font-size:.82rem}.solution-wrap .notes details{border-bottom:1px solid var(--marketing-rule);padding-block:1rem}.solution-wrap .notes summary{cursor:pointer;color:var(--color-graphite-900);font-weight:600}.solution-wrap .notes details p{margin-top:.7rem}.solution-wrap .notes table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9rem}.solution-wrap .notes th,.solution-wrap .notes td{text-align:left;border-bottom:1px solid var(--marketing-rule);vertical-align:top;padding:.65rem .8rem}.solution-wrap .notes th{text-transform:uppercase;letter-spacing:.08em;color:var(--color-graphite-400);font-size:.72rem}@media (width<=63.99rem){.gen-grid{grid-template-columns:minmax(0,1fr)}.gen-preview{position:static}.gen-frame,.gen-placeholder{aspect-ratio:auto;height:34rem}}@media (width<=36rem){.gen-row{grid-template-columns:minmax(0,1fr)}}.solution-intro{max-width:62ch;color:var(--color-graphite-500);margin:0 0 2.5rem;font-size:1.1rem;line-height:1.85}.solution-page .scenario-breadcrumb{color:var(--color-graphite-400);flex-wrap:wrap;gap:.75rem;margin-bottom:1.75rem;font-size:.75rem;display:flex}.solution-page .scenario-breadcrumb a{text-underline-offset:.2em;text-decoration:underline}.cs{margin-top:.4rem;position:relative}.cs-button{text-align:left;width:100%;font:inherit;color:var(--color-graphite-900);border:1px solid var(--color-graphite-300);cursor:pointer;background:#fff;border-radius:.6rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem .9rem;transition:border-color .15s,box-shadow .15s;display:flex}.cs-button:after{content:"";border:solid var(--color-graphite-400);border-width:0 2px 2px 0;flex:none;width:.5rem;height:.5rem;margin-top:-.25rem;transition:transform .15s;transform:rotate(45deg)}.cs-button[aria-expanded=true]:after{margin-top:.2rem;transform:rotate(-135deg)}.cs-button:hover{border-color:var(--color-graphite-400)}.cs-button:focus-visible,.cs-button[aria-expanded=true]{border-color:var(--color-signal-600);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-signal-600) 22%, transparent);outline:none}.cs-placeholder{color:var(--color-graphite-400)}.cs-list{z-index:20;inset-inline:0;border:1px solid var(--color-graphite-200,var(--marketing-rule));max-height:16rem;box-shadow:0 1.25rem 2.5rem -1rem color-mix(in srgb, var(--color-graphite-900) 30%, transparent);background:#fff;border-radius:.7rem;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .35rem);overflow:auto}.cs-list li{color:var(--color-graphite-900);cursor:pointer;border-radius:.45rem;padding:.6rem .7rem;font-size:.95rem}.cs-list li.cs-active{background:var(--color-graphite-50)}.cs-list li[aria-selected=true]{color:var(--color-signal-700,var(--color-signal-600));font-weight:600}.gen-pages{gap:1rem;display:grid}.gen-pages .gen-page{border:1px solid var(--marketing-rule);width:100%;height:auto;box-shadow:0 .25rem .5rem color-mix(in srgb, var(--color-graphite-900) 4%, transparent), 0 1.5rem 3rem -1.5rem color-mix(in srgb, var(--color-graphite-900) 22%, transparent);background:#fff;border-radius:.5rem;display:block}.gen-pages:not(:has(canvas)){color:var(--color-graphite-500);padding:1.5rem;font-size:.9rem}.gen-preview .gen-pages{max-height:calc(100vh - 14rem);padding-right:.25rem;overflow-y:auto}.gen-colours{align-items:center;gap:.55rem;margin-top:1rem;display:flex}.gen-colours__label{color:var(--color-graphite-400);margin-right:.2rem;font-size:.78rem}.gen-colours .gen-swatch{cursor:pointer;width:1.15rem;height:1.15rem;margin:0;display:block;position:relative}.gen-swatch input{opacity:0;cursor:pointer;position:absolute;inset:0}.gen-swatch span:not(.sr-only){border-radius:50%;width:1.15rem;height:1.15rem;transition:transform .12s,box-shadow .12s;display:block;box-shadow:inset 0 0 0 1px #0000001f}.gen-swatch:hover span:not(.sr-only){transform:scale(1.12)}.gen-swatch input:checked+span{box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--color-graphite-700,#333)}.gen-swatch input:focus-visible+span{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--color-signal-600)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
