.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.concept-card{min-width:0}
.concept-card-index{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.concept-card-index span:first-child{color:var(--muted)}
.concept-card-index span:last-child{display:flex;align-items:center;gap:7px}
.concept-card-index span:last-child:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--concept-colour)}
.concept-thumbnail{position:relative;aspect-ratio:760/710;overflow:hidden;border:1px solid #172d3f18;border-radius:12px;background:var(--concept-background);isolation:isolate;transition:transform .25s,box-shadow .25s}
.concept-canvas{position:absolute;inset:0 auto auto 0;width:760px;transform:scale(var(--preview-scale,.45));transform-origin:top left;pointer-events:none;user-select:none}
.concept-launch{position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer;text-align:left;padding:0}
.concept-launch-label{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:16px;padding:10px 15px;border-radius:5px;color:#fff;background:#172d3f;box-shadow:0 3px 15px #0002;font-size:12px;font-weight:550}
.concept-launch-label span{font-size:18px;line-height:1}
.concept-launch:focus-visible{outline:3px solid var(--blue);outline-offset:-5px}
.concept-thumbnail:has(.concept-launch:hover),.concept-thumbnail:has(.concept-launch:focus-visible){transform:translateY(-5px);box-shadow:0 18px 28px #172d3f14}
.concept-card-caption{padding-top:19px}
.concept-card-caption>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.concept-card-caption h3{font-size:20px;letter-spacing:-.04em;margin:0;font-weight:650}
.concept-card-caption>div:first-child>span{font-size:11px;white-space:nowrap;color:var(--muted)}
.concept-card-caption p{font-size:13px;line-height:1.7;color:var(--muted);margin:7px 0 0;max-width:370px}
.concept-style-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.concept-style-tags span{font-size:10px;border:1px solid #d9e1e7;border-radius:4px;padding:3px 7px;color:#44586a;background:#fff}
.concept-note{display:flex;justify-content:space-between;gap:20px;margin-top:28px}
.concept-note>span:last-child{color:var(--blue);font-weight:600}
.concept-restaurant-card{--concept-colour:#ed441e;--concept-background:#ffefbf}
.concept-architecture-card{--concept-colour:#48564a;--concept-background:#151816}
.concept-wellness-card{--concept-colour:#7555e8;--concept-background:#e7ddff}
#concept-dialog{width:min(1120px,calc(100% - 32px));border-radius:15px}
.concept-demo-guide{display:flex;justify-content:space-between;gap:15px;padding:12px 28px;background:#edf3ff;color:#354b61;font-size:12px;border-bottom:1px solid #dbe3ef}
.concept-demo-guide strong{font-weight:600;color:var(--blue)}
.concept-explanation{background:var(--paper)}
.concept-explanation h3{font-weight:600}
.dialog-disclaimer{background:var(--paper)}
@media(max-width:1100px){.concept-card-caption>div:first-child{display:block}.concept-card-caption>div:first-child>span{display:block;margin-top:4px}.concept-grid{gap:20px}.concept-launch-label{font-size:11px;right:12px;bottom:12px;padding:9px 12px}.concept-card-index{font-size:9px}}
@media(max-width:800px){.concept-grid{grid-template-columns:1fr;gap:38px;max-width:600px;margin-inline:auto}.concept-thumbnail{aspect-ratio:760/700}.concept-card-index{font-size:11px}.concept-card-caption>div:first-child{display:flex}.concept-card-caption>div:first-child>span{margin:0}.concept-card-caption p{max-width:520px;font-size:14px}.concept-launch-label{font-size:13px;padding:11px 17px;right:18px;bottom:18px}.concept-style-tags span{font-size:11px}.concept-note{display:block}.concept-note>span{display:block}.concept-note>span+span{margin-top:6px}.concept-demo-guide{padding:12px 20px;flex-wrap:wrap;gap:3px;font-size:11px}}
@media(max-width:400px){.concept-card-index{font-size:9px}.concept-card-caption h3{font-size:19px}.concept-card-caption>div:first-child>span{font-size:10px}.concept-launch-label{font-size:11px;padding:9px 12px;right:12px;bottom:12px}.concept-style-tags{gap:5px}.concept-style-tags span{font-size:9px}.concept-card-caption p{font-size:13px}}
