.project-modal{border:0;padding:0;width:min(980px,calc(100% - 32px));max-height:min(720px,calc(100% - 32px));background:transparent;overflow:visible}.project-modal::backdrop{background:rgba(6,10,28,.8);backdrop-filter:blur(6px)}.modal-shell{position:relative;display:grid;grid-template-columns:43% 57%;background:#fff;box-shadow:0 25px 75px rgba(0,0,0,.38)}.modal-close{position:absolute;z-index:2;right:-15px;top:-15px;border:0;border-radius:50%;width:38px;height:38px;background:#d5ff5a;color:#0c1126;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 5px 15px rgba(0,0,0,.2)}.modal-image{min-height:560px;background:#171e3c;overflow:hidden}.modal-image img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:top;display:block}.modal-content{padding:52px 48px;overflow-y:auto;max-height:720px}.modal-content .eyebrow{margin-bottom:14px}.modal-content h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.06em;line-height:1.04;margin:0 0 18px}.modal-description{color:#515a73;font-size:14px;margin-bottom:30px}.modal-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #dce0e7;padding-top:23px;margin-bottom:33px}.modal-columns h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.modal-columns ul{list-style:none;padding:0;margin:0}.modal-columns li{position:relative;padding:0 0 10px 14px;color:#5d667d;font-size:12px;line-height:1.4}.modal-columns li:before{content:'+';position:absolute;left:0;color:#7458ff;font-weight:800}@media(max-width:700px){.project-modal{max-height:calc(100% - 20px);width:calc(100% - 20px);overflow:auto}.modal-shell{display:block}.modal-image,.modal-image img{min-height:0;height:210px}.modal-content{padding:32px 25px;max-height:none}.modal-close{right:9px;top:9px}.modal-columns{grid-template-columns:1fr;gap:20px}.modal-content .button{width:100%}}

/* Keep long project modules within the viewport, with a readable scrolling panel. */
@media(min-width:701px){
  .modal-shell{max-height:calc(100dvh - 64px);grid-template-columns:35% 65%}
  .modal-content{min-height:0;max-height:min(720px,calc(100dvh - 64px));padding:42px 36px}
  .modal-image{min-height:0}
  .modal-image img{min-height:0;height:100%;max-height:min(720px,calc(100dvh - 64px))}
}
.modal-module>h3{font-size:18px;line-height:1.3;margin:28px 0 14px;color:#171e3c}
.modal-module .modal-columns{margin-bottom:24px}
.modal-columns h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}
.modal-columns li{font-size:14px;line-height:1.5}
@media(max-width:700px){.project-modal{max-height:calc(100dvh - 20px)}.modal-module>h3{font-size:20px}}

/* Full-width project banner with readable text over the image. */
.project-modal{overflow:auto;max-height:calc(100dvh - 40px);background:#fff}
.modal-shell{display:block;max-height:none}
.modal-close{position:sticky;top:12px;float:right;right:auto;margin:12px 12px -50px 0;z-index:3}
.modal-banner{position:relative;isolation:isolate;min-height:280px;display:flex;align-items:flex-end;background:#211039;overflow:hidden}
.modal-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.modal-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(32,12,59,.94),rgba(49,20,79,.78));z-index:-1}
.modal-banner-text{width:100%;padding:48px;color:#fff}
.modal-banner .eyebrow{color:#fff;margin:0 0 14px}
.modal-banner h2{color:#fff;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.1;margin:0 0 18px;max-width:760px}
.modal-banner .modal-description{color:#fff;font-size:16px;line-height:1.65;max-width:720px;margin:0}
.modal-content{overflow:visible;max-height:none;padding:36px 48px}
.modal-module:first-child>h3{margin-top:0}
@media(max-width:700px){
 .project-modal{max-height:calc(100dvh - 20px)}
 .modal-banner{min-height:260px}
 .modal-banner-text{padding:58px 25px 30px}
 .modal-banner .modal-description{font-size:14px}
 .modal-content{padding:30px 25px}
}
