/* ═══════════════════════════════════════════════════════════════════════
    MINEDEV — portal/contact modal
    Split from original index.html lines 676-759
    ═══════════════════════════════════════════════════════════════════════ */

        /* ── PORTAL MODAL ───────────────────────── */
        #portal-modal {
            position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; height: 100dvh;
            background-color: #f4f4f4; color: #030303; z-index: 9400; display: flex;
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%); visibility: hidden;
        }
        .modal-close {
            position: absolute; top: 40px; right: 60px; background: none; border: none;
            font-size: 14px; font-variation-settings: "wght" 300; text-transform: uppercase;
            letter-spacing: 1px; z-index: 510; font-family: inherit; color: #030303;
            transition: transform 0.3s var(--framer-ease);
        }
        .modal-close:hover { transform: scale(1.05); }
        .col { flex: 1; padding: 100px 60px; display: flex; flex-direction: column; justify-content: center; }
        .col-left { border-right: 1px solid rgba(0,0,0,0.1); }
        .modal-sub { font-size: 12px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; opacity: 0.5; font-variation-settings: "wght" 300; }
        .modal-title { font-size: clamp(2.5rem, 5vw, 6rem); line-height: 0.9; letter-spacing: -0.06em; margin-bottom: 30px; text-transform: uppercase; font-variation-settings: "wght" 500; }
        .modal-desc-container { max-width: 85%; }
        .modal-desc { font-size: clamp(0.85rem, 1vw, 1.1rem); line-height: 1.6; opacity: 0.75; font-variation-settings: "wght" 300; margin-bottom: 1.2rem; }
        .modal-links { display: flex; flex-direction: column; gap: 12px; margin-top: 25px; margin-bottom: 25px; }
        .modal-links a {
            color: #030303; text-decoration: none; font-size: 0.85rem; font-variation-settings: "wght" 500;
            text-transform: uppercase; letter-spacing: 1px; border-bottom: 1px solid transparent;
            width: fit-content; transition: transform 0.3s var(--framer-ease), border-color 0.3s; opacity: 0.8; cursor: none;
        }
        .modal-links a:hover { transform: translateX(8px); border-color: var(--accent); opacity: 1; }
        .signup-form { margin-top: 20px; width: 100%; max-width: 400px; }
        .input-group { position: relative; margin-bottom: 25px; }
        .signup-form input:not([type="file"]), .signup-form textarea {
            width: 100%; background: none; border: none; border-bottom: 1px solid rgba(0,0,0,0.3);
            padding: 15px 0; font-size: 16px; color: #000; outline: none;
            transition: border-color 0.3s; font-family: inherit; font-variation-settings: "wght" 300;
            resize: vertical; cursor: none;
        }
        .signup-form textarea { min-height: 70px; }
        .signup-form input:focus, .signup-form textarea:focus { border-bottom-color: #000; }
        .signup-form input::placeholder, .signup-form textarea::placeholder { color: rgba(0,0,0,0.4); font-variation-settings: "wght" 300; }
        .phone-input-wrapper {
            position: relative; margin-bottom: 25px;
            border-bottom: 1px solid rgba(0,0,0,0.3); padding: 10px 0;
        }
        .phone-field-row {
            display: flex; gap: 8px; width: 100%;
        }
        .country-code-group {
            flex-shrink: 0;
        }
        .phone-input-group {
            flex: 1; position: relative; display: flex; align-items: center;
        }
        .whatsapp-icon {
            width: 18px; height: 18px; position: absolute; left: 12px; top: 50%;
            transform: translateY(-50%); pointer-events: none; z-index: 1;
        }
        .phone-input-group input[type="tel"] {
            padding-left: 38px !important;
        }
        .country-code-select {
            background: none; border: none; border-right: 1px solid rgba(0,0,0,0.2);
            padding: 12px 14px; font-size: 14px; color: #000;
            font-family: inherit; font-variation-settings: "wght" 400; cursor: none;
            outline: none; appearance: none; -webkit-appearance: none;
            min-width: 95px;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6'%3E%3Cpath d='M0 0l4 6 4-6z' fill='%23000'/%3E%3C/svg%3E");
            background-repeat: no-repeat; background-position: right 0 center;
            padding-right: 14px;
        }
        .country-code-select option { background: #f4f4f4; color: #030303; }
        .phone-input-wrapper input[type="tel"] {
            flex: 1; background: none; border: none; padding: 8px 0; font-size: 16px;
            color: #000; outline: none; font-family: inherit; font-variation-settings: "wght" 300; cursor: none;
        }
        .phone-input-wrapper input[type="tel"]::placeholder { color: rgba(0,0,0,0.3); font-variation-settings: "wght" 300; }
        .recaptcha-text { font-size: 10px; color: rgba(0,0,0,0.5); line-height: 1.4; margin-bottom: 15px; font-variation-settings: "wght" 300; }
        .recaptcha-text a { color: #030303; text-decoration: underline; cursor: none; }
        .submit-btn {
            background: #030303; color: #fff; border: none; padding: 15px 40px; font-size: 12px;
            text-transform: uppercase; letter-spacing: 2px; border-radius: 50px; margin-top: 5px;
            transition: transform 0.3s, background 0.3s, color 0.3s; font-family: inherit;
            font-variation-settings: "wght" 300; cursor: none;
        }
        .submit-btn:hover { background: var(--accent); color: #030303; transform: translateY(-3px) scale(1.02); }
        #form-notification { margin-top: 15px; font-size: 13px; color: #0b5e0b; opacity: 0; transition: opacity 0.3s; }
