/* Shared project popup appearance. Page-specific project data only changes the accent. */
.project-modal,.project-modal[data-variant] { width:min(880px,calc(100% - 32px)) !important; border:1px solid #31506b; border-radius:20px; background:#07101a; color:#f7f9fb; }
.project-modal .modal-close { box-sizing:border-box; width:34px; height:34px; aspect-ratio:1 / 1; display:grid; place-items:center; padding:0; line-height:1; }
.project-modal .modal-inner,.project-modal[data-variant] .modal-inner { min-height:0 !important; display:grid !important; grid-template-columns:48% 52% !important; align-items:center !important; gap:28px !important; padding:38px 34px !important; background:radial-gradient(circle at 92% 6%,var(--modal-accent,#0078bf) 0,transparent 35%),linear-gradient(135deg,#0b1722,#05070c) !important; }
.project-modal .modal-copy,.project-modal[data-variant] .modal-copy { order:initial !important; padding:0 !important; align-self:auto !important; }
.project-modal .modal-kicker { margin:0 0 12px; display:flex; align-items:center; gap:8px; color:var(--modal-accent,var(--cyan)); font-size:11px; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; line-height:1; }
.project-modal .modal-kicker::before { display:none !important; }
.project-modal .modal-kicker-icon { box-sizing:border-box !important; width:24px !important; height:24px !important; flex:0 0 24px !important; display:grid !important; place-items:center !important; border:1px solid var(--modal-accent,var(--cyan)) !important; border-radius:6px !important; color:var(--modal-accent,var(--cyan)) !important; background:color-mix(in srgb,var(--modal-accent,var(--cyan)) 12%,transparent); padding:0 !important; margin:0 !important; line-height:0 !important; }
.project-modal .modal-kicker-icon svg { width:12px; height:12px; display:block; fill:currentColor; margin:auto; }
.project-modal .modal-kicker-label { display:inline-block; line-height:1; }
.project-modal .modal-title,.project-modal .modal-copy h2 { margin:0 0 12px; font:700 clamp(28px,4vw,38px)/1.1 'Space Grotesk',sans-serif; letter-spacing:normal; text-shadow:none; }
.project-modal .modal-description,.project-modal .modal-copy > p { margin:0 0 18px; font-size:14px; line-height:1.55; }
.project-modal .modal-points { gap:10px; margin:0 0 20px; }
.project-modal .modal-points li,.project-modal[data-variant] .modal-copy .modal-points li { display:flex; align-items:center; gap:12px; padding:9px 12px; border:1px solid rgba(42,70,88,.45); border-radius:10px; background:rgba(4,10,16,.55); color:#dce7ed; font-size:13px; }
.project-modal .modal-points li::before { display:none; }
.project-modal .modal-feature-copy strong { color:#fff; font-size:13px; font-weight:700; letter-spacing:normal; text-transform:none; }
.project-modal .modal-feature-copy small { color:#b5c4ce; font-size:11px; }
.project-modal .modal-feature-icon { box-sizing:border-box !important; width:56px !important; height:56px !important; flex:0 0 56px !important; align-self:center !important; object-fit:contain !important; object-position:center !important; }
.project-modal .modal-feature-icon--symbol { display:inline-flex !important; align-items:center !important; justify-content:center !important; padding:14px !important; border:1px solid color-mix(in srgb,var(--modal-accent,#00b7ff) 55%,transparent) !important; border-radius:12px !important; color:var(--modal-accent,#00b7ff) !important; background:color-mix(in srgb,var(--modal-accent,#00b7ff) 12%,transparent) !important; line-height:0 !important; vertical-align:middle !important; }
.project-modal iconify-icon.modal-feature-icon--symbol { font-size:26px !important; }
.project-modal .modal-art,.project-modal[data-variant] .modal-art { box-sizing:border-box !important; order:initial !important; width:100% !important; height:100% !important; min-height:280px !important; display:flex !important; align-items:center !important; justify-content:center !important; border:0 !important; border-radius:0 !important; background:transparent !important; overflow:visible !important; padding:0 !important; box-shadow:none !important; }
.project-modal .modal-art::before { display:none !important; }
.project-modal .modal-visual,.project-modal[data-variant] .modal-art .modal-visual { width:100% !important; height:auto !important; max-width:100% !important; max-height:480px !important; min-height:0 !important; border:0 !important; border-radius:16px !important; background:transparent !important; object-fit:contain !important; object-position:center !important; filter:drop-shadow(0 18px 30px rgba(0,0,0,.65)) !important; }
.project-modal .modal-actions,.project-modal[data-variant] .modal-copy .modal-actions { margin-top:auto; padding-top:10px; }
.project-modal .modal-actions .button,.project-modal[data-variant] .modal-copy .modal-actions .button { width:auto; min-width:0; padding:11px 16px; font-size:12px; background:initial; }
.project-modal .modal-support-images { display:none !important; }
@media (max-width:980px){.project-modal .modal-inner,.project-modal[data-variant] .modal-inner{grid-template-columns:1fr !important;gap:22px !important;padding:30px 22px !important}.project-modal .modal-art,.project-modal[data-variant] .modal-art{width:100% !important;max-width:440px !important;margin:0 auto !important;min-height:0 !important}}
