.ddm-needs-dialog{box-sizing:border-box;width:min(1220px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;border-radius:24px;background:#fff;color:#10264b;box-shadow:0 30px 90px rgba(3,20,55,.27);overflow:hidden}
.ddm-needs-dialog::backdrop{background:rgba(3,18,43,.65);backdrop-filter:blur(5px)}
.ddm-needs-dialog__shell{display:grid;grid-template-columns:minmax(0,37%) minmax(0,63%);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}
.ddm-needs-dialog__close{position:absolute;z-index:2;top:17px;right:18px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #d8e4f2;border-radius:50%;background:#fff;color:#12315f;font-size:28px;line-height:1;cursor:pointer}
.ddm-needs-dialog__close:hover{background:#eff5ff}
.ddm-needs-dialog :focus-visible{outline:3px solid #1769ff;outline-offset:3px}
.ddm-needs-dialog__intro{display:flex;flex-direction:column;min-width:0;padding:40px 34px 28px;background:#eef5ff}
.ddm-needs-dialog__brand{color:#0b4cb7;font-size:14px;font-weight:850}
.ddm-needs-dialog__eyebrow{margin:32px 0 11px;color:#1769ef;font-size:11px;font-weight:850;letter-spacing:.13em}
.ddm-needs-dialog__intro h2{margin:0;color:#081e41;font-size:clamp(28px,2.7vw,42px);line-height:1.12;letter-spacing:-.04em}
.ddm-needs-dialog__description{max-width:37ch;margin:15px 0 0;color:#48617e;font-size:14px;line-height:1.6}
.ddm-needs-dialog__benefits{display:grid;gap:15px;margin:29px 0 22px;padding:0;list-style:none}
.ddm-needs-dialog__benefits li{display:flex;gap:14px;align-items:start}
.ddm-needs-dialog__benefits li>span{color:#1769ef;font-size:12px;font-weight:850}
.ddm-needs-dialog__benefits strong,.ddm-needs-dialog__benefits small{display:block}
.ddm-needs-dialog__benefits strong{font-size:13px;line-height:1.35}
.ddm-needs-dialog__benefits small{margin-top:3px;color:#617793;font-size:11px;line-height:1.45}
.ddm-needs-dialog__lifestyle{display:block;width:100%;height:150px;margin-top:auto;border-radius:16px;object-fit:cover;object-position:center}
.ddm-needs-dialog__choices{min-width:0;padding:64px 28px 28px}
.ddm-needs-dialog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ddm-needs-dialog__card{display:flex;min-width:0;min-height:221px;flex-direction:column;overflow:hidden;border:1px solid #e2e9f2;border-radius:17px;background:#fff;color:#10264b;text-decoration:none;box-shadow:0 5px 18px rgba(21,53,99,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ddm-needs-dialog__card:hover{transform:translateY(-2px);border-color:#b4cdf3;box-shadow:0 12px 30px rgba(21,53,99,.13)}
.ddm-needs-dialog__card img{display:block;width:100%;height:115px;object-fit:cover}
.ddm-needs-dialog__card-copy{position:relative;display:block;flex:1;padding:12px 41px 14px 14px}
.ddm-needs-dialog__card strong{display:block;font-size:14px;line-height:1.3}
.ddm-needs-dialog__card small{display:block;margin-top:5px;color:#61738c;font-size:11px;line-height:1.4}
.ddm-needs-dialog__arrow{position:absolute;right:11px;bottom:12px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#eaf2ff;color:#1769ef;font-size:17px}
.ddm-needs-dialog__booking{display:flex;align-items:center;gap:13px;margin-top:18px;padding:15px;border:1px solid #d7e7ff;border-radius:15px;background:#f0f6ff}
.ddm-needs-dialog__booking-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#dceaff;color:#1769ef;font-size:24px}
.ddm-needs-dialog__booking>div{min-width:0;flex:1}
.ddm-needs-dialog__booking strong,.ddm-needs-dialog__booking small{display:block}
.ddm-needs-dialog__booking strong{font-size:13px}.ddm-needs-dialog__booking small{margin-top:3px;color:#61738c;font-size:11px;line-height:1.4}
.ddm-needs-dialog__booking>a{flex:none;padding:10px 13px;border-radius:9px;background:#1769ef;color:#fff;font-size:11px;font-weight:800;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:900px) and (min-width:768px){.ddm-needs-dialog__shell{grid-template-columns:32% 68%}.ddm-needs-dialog__intro{padding:34px 22px}.ddm-needs-dialog__choices{padding:64px 18px 20px}.ddm-needs-dialog__grid{gap:9px}.ddm-needs-dialog__card-copy{padding:10px 33px 11px 10px}.ddm-needs-dialog__card strong{font-size:12px}}
@media(max-width:767px){.ddm-needs-dialog{position:fixed;inset:auto 0 0;width:100%;height:92dvh;max-height:92dvh;margin:0;border-radius:22px 22px 0 0}.ddm-needs-dialog__shell{display:block;max-height:92dvh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}.ddm-needs-dialog__intro{position:sticky;z-index:1;top:0;padding:20px 58px 14px 18px;background:#fff;border-bottom:1px solid #e5edf7}.ddm-needs-dialog__brand,.ddm-needs-dialog__eyebrow,.ddm-needs-dialog__benefits,.ddm-needs-dialog__lifestyle,.ddm-needs-dialog__desktop-break{display:none}.ddm-needs-dialog__intro h2{font-size:21px;line-height:1.2;letter-spacing:-.03em}.ddm-needs-dialog__description{margin:5px 0 0;font-size:12px;line-height:1.4}.ddm-needs-dialog__close{position:absolute;top:9px;right:12px;width:44px;height:44px;font-size:25px}.ddm-needs-dialog__choices{padding:14px 14px 18px}.ddm-needs-dialog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ddm-needs-dialog__card{min-height:0}.ddm-needs-dialog__card img{height:auto;aspect-ratio:1.7;object-fit:cover}.ddm-needs-dialog__card-copy{min-height:53px;padding:11px 36px 11px 10px}.ddm-needs-dialog__card strong{font-size:12px}.ddm-needs-dialog__card small{display:none}.ddm-needs-dialog__arrow{right:9px;bottom:9px;width:24px;height:24px;font-size:15px}.ddm-needs-dialog__booking{flex-wrap:wrap;gap:8px;margin-top:13px;padding:12px}.ddm-needs-dialog__booking-icon{display:none}.ddm-needs-dialog__booking>a{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.ddm-needs-dialog__card{transition:none}}
