.iris-choice{container-type:inline-size;min-width:0;--choice-accent:#753ca1}.choice-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.choice-option{position:relative;isolation:isolate;min-height:150px;min-width:44px;border:3px solid transparent;border-radius:14px;overflow:hidden;background:#142f46;color:white;padding:16px;text-align:left;cursor:pointer;font:inherit;display:flex;align-items:flex-end}.choice-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.choice-option:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 25%,#071d32dd)}.choice-label{font-size:22px;font-weight:700;overflow-wrap:anywhere}.choice-option[aria-pressed=true]{border-color:#753ca1;box-shadow:0 0 0 2px white inset}.choice-option:focus-visible,.choice-open:focus-visible{outline:3px solid #0066cc;outline-offset:3px}.choice-option:disabled{opacity:.5;cursor:not-allowed}.choice-detail{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px;color:#172b49;min-width:0}.choice-detail[hidden]{display:none}.choice-caption{text-transform:uppercase;letter-spacing:.08em;font-size:14px;margin:0 0 6px}.choice-detail h2{font-size:22px;margin:0 0 6px}.choice-description{font-size:16px;line-height:1.4;margin:0;overflow-wrap:anywhere}.choice-open{display:flex;gap:12px;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;min-width:88px;border-radius:24px;padding:0 14px;background:#753ca1;color:white;text-decoration:none;font-size:16px}.choice-open span{font-size:24px}@media(max-width:500px){.choice-option{min-height:118px;padding:12px}.choice-label{font-size:18px}.choice-detail{padding:12px 0;gap:8px}.choice-detail h2{font-size:20px}.choice-open{min-width:44px;padding:0 10px}}

.choice-icon{width:24px;height:24px;object-fit:contain;margin-right:8px;flex-shrink:0}
.choice-option{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:4px}.choice-icon{margin-right:0}.choice-label{max-width:100%}
/* Optional viewport paging. Content geometry remains explicit; no text scaling. */
.choice-paged{display:flex;flex-direction:column;height:100%;min-height:0}.choice-paged .choice-grid{flex:1;min-height:0;grid-auto-rows:max-content;align-content:start}.choice-paged .choice-option{min-height:var(--choice-base-height,44px);box-sizing:border-box}.choice-paged .choice-option[hidden]{display:none}.choice-paged .choice-detail{flex-shrink:0}.choice-pagination{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;flex-shrink:0}.choice-pagination button,.choice-pagination select,.flow-tabs button{font:inherit;font-size:14px;min-height:44px;min-width:44px;border:1px solid #b9acc8;border-radius:8px;background:white;color:#452569;padding:6px 10px}.choice-pagination label{display:flex;align-items:center;gap:5px;font-size:14px}.choice-pagination button:disabled{opacity:.45}.iris-flow{display:flex;flex-direction:column;min-height:0;height:100%;gap:8px}.flow-tabs{display:flex;gap:8px;flex-shrink:0}.flow-tabs button[aria-pressed=true]{background:#753ca1;color:white}.flow-presentation,.flow-areas{min-height:0;flex:1}.iris-flow [hidden]{display:none!important}.iris-flow[data-wide=true] .flow-presentation{flex:1}.iris-flow[data-wide=true] .flow-areas{flex:1}.flow-tabs button:focus-visible,.choice-pagination :focus-visible{outline:3px solid #0066cc;outline-offset:2px}
.choice-pagination[hidden]{display:none}
/* An exceptionally short host may need scrolling inside a complete card.
   Reserve pagination outside that scroller, so moving to another page never
   requires scrolling past the whole card first. */
.choice-paged[data-insufficient-space=true]{overflow:hidden}
.choice-paged[data-insufficient-space=true] .choice-grid{flex:1;min-height:0;overflow:auto;grid-auto-rows:max-content;box-sizing:border-box}
.choice-paged[data-insufficient-space=true] .choice-pagination{position:relative;background:inherit;flex-shrink:0}
