/* =========================================================
   UPERSONALITY PROMOTORES — CSS CONSOLIDADO
   Compatible con el markup actual del portal
   ========================================================= */

:root{
    --bg:#070707;
    --bg-2:#0a0a0a;
    --surface:#0d0d0d;
    --surface-2:#121212;
    --surface-3:#171717;
    --white:#f4f0ea;
    --white-soft:#e9e4dc;
    --muted:#837b70;
    --muted-2:#5f584f;
    --gold:#cda955;
    --gold-soft:#e4c26f;
    --line:rgba(205,169,85,.16);
    --line-strong:rgba(205,169,85,.34);
    --font-serif:'Frank Ruhl Libre',serif;
    --font-sans:'Lato',sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--bg);
    color:var(--white);
    font-family:var(--font-sans);
    -webkit-font-smoothing:antialiased;
}

a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}

.portal-shell{
    width:min(1240px,calc(100% - 48px));
    margin:0 auto;
}

/* =========================================================
   HEADER
   ========================================================= */
.portal-header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(7,7,7,.88);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(18px);
}

.portal-header__inner{
    min-height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}

.portal-brand{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
}

.portal-brand__logo{
    width:68px;
    height:68px;
    object-fit:contain;
    filter:drop-shadow(0 6px 18px rgba(205,169,85,.12));
}

.portal-brand strong{
    display:block;
    color:var(--white);
    font-size:12px;
    letter-spacing:.20em;
}

.portal-brand small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.portal-nav{
    display:flex;
    align-items:center;
    gap:27px;
}

.portal-nav a{
    position:relative;
    padding:33px 0;
    color:#aaa299;
    text-decoration:none;
    font-size:11px;
    letter-spacing:.08em;
    transition:color .25s ease;
}

.portal-nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:24px;
    height:1px;
    background:var(--gold);
    transition:right .3s ease;
}

.portal-nav a:hover,
.portal-nav a.is-active{color:var(--white)}
.portal-nav a:hover::after,
.portal-nav a.is-active::after{right:0}
.portal-nav .portal-nav__logout{color:var(--gold)}

.portal-menu-toggle{
    display:none;
    width:44px;
    height:44px;
    border:1px solid var(--line);
    background:transparent;
}
.portal-menu-toggle span{
    display:block;
    width:18px;
    height:1px;
    margin:4px auto;
    background:var(--gold);
}

main{min-height:calc(100vh - 170px)}

.portal-footer{
    border-top:1px solid var(--line);
    background:#050505;
}
.portal-footer__inner{
    min-height:80px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#625c54;
    font-size:10px;
    letter-spacing:.16em;
    text-transform:uppercase;
}

/* =========================================================
   GENERAL
   ========================================================= */
.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--gold);
    font-size:9px;
    font-weight:700;
    letter-spacing:.3em;
    text-transform:uppercase;
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}

h1,h2,h3,p{margin-top:0}
em{color:var(--gold);font-weight:500}

.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    min-height:50px;
    padding:0 22px;
    border:1px solid transparent;
    border-radius:999px;
    text-decoration:none;
    font-size:10px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    transition:transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease;
}
.button:hover{transform:translateY(-2px)}
.button--gold{background:var(--gold);color:#080808}
.button--gold:hover{background:var(--gold-soft)}
.button--dark{background:#161616;border-color:var(--line);color:var(--white)}
.button--ghost{background:transparent;border-color:var(--line);color:#a29a90}
.button--whatsapp{background:#101610;border-color:rgba(120,180,120,.18);color:#a6c9a7}
.button--full{width:100%}
.text-link{color:var(--gold);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.08em}

.alert{
    margin-top:18px;
    padding:14px 18px;
    border:1px solid var(--line);
    background:#0e0e0e;
    color:#aaa;
    font-size:13px;
}
.alert--success{color:#cfb878;border-color:rgba(205,169,85,.35)}
.alert--error{color:#c78f8f;border-color:rgba(160,80,80,.28)}

/* =========================================================
   LOGIN
   ========================================================= */
.login-screen{
    min-height:calc(100vh - 169px);
    display:grid;
    place-items:center;
    padding:70px 0;
    background:
        radial-gradient(circle at 20% 35%,rgba(205,169,85,.08),transparent 28%),
        radial-gradient(circle at 80% 70%,rgba(60,68,86,.13),transparent 32%),
        #070707;
}
.login-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}
.login-panel__intro{max-width:650px}
.login-panel__logo{width:120px;margin-bottom:28px}
.login-panel__intro h1{
    margin:22px 0 25px;
    font-family:var(--font-serif);
    font-size:clamp(60px,7vw,104px);
    font-weight:500;
    line-height:.88;
    letter-spacing:-.045em;
}
.login-panel__intro p{max-width:520px;color:var(--muted);line-height:1.9}
.login-card{
    position:relative;
    padding:46px;
    background:linear-gradient(150deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
    border:1px solid var(--line);
    box-shadow:0 35px 90px rgba(0,0,0,.38);
}
.login-card::before{content:"";position:absolute;inset:12px;border:1px solid rgba(205,169,85,.08);pointer-events:none}
.login-card__number{display:block;margin-bottom:50px;color:var(--gold);font-size:8px;letter-spacing:.26em}
.login-card h2{margin-bottom:30px;font-family:var(--font-serif);font-size:36px;font-weight:500}
.login-card__note{margin:22px 0 0;color:#58534d;font-size:11px;text-align:center}

/* =========================================================
   FORMS
   ========================================================= */
.field{display:flex;flex-direction:column;gap:9px}
.field>span{color:#7c756c;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.field input,.field select,.field textarea{
    width:100%;
    border:1px solid rgba(205,169,85,.15);
    outline:none;
    background:#0b0b0b;
    color:var(--white);
    transition:border-color .25s ease,background .25s ease;
}
.field input,.field select{height:52px;padding:0 15px}
.field textarea{padding:15px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(205,169,85,.58);background:#0f0f0f}
.field--full{grid-column:1/-1}
.password-field{position:relative}
.password-field input{padding-right:70px}
.password-toggle{position:absolute;top:0;right:0;height:52px;width:62px;border:0;background:transparent;color:var(--gold);font-size:9px;text-transform:uppercase}
.form-error,.form-error-list{margin-bottom:22px;padding:14px 16px;border:1px solid rgba(205,95,95,.25);background:rgba(120,20,20,.09);color:#d9a3a3;font-size:13px;line-height:1.6}
.form-error-list ul{margin:8px 0 0;padding-left:18px}

/* =========================================================
   HERO / SECTIONS
   ========================================================= */
.dashboard-hero,.packages-hero,.form-hero,.list-hero{
    position:relative;
    padding:105px 0 90px;
    border-bottom:1px solid var(--line);
    background:radial-gradient(circle at 72% 28%,rgba(205,169,85,.045),transparent 25%),#080808;
}
.dashboard-hero__grid,.form-hero__grid,.list-hero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}
.dashboard-hero h1,.packages-hero h1,.form-hero h1,.list-hero h1{
    margin:20px 0 0;
    font-family:var(--font-serif);
    font-size:clamp(58px,6vw,94px);
    line-height:.9;
    font-weight:500;
    letter-spacing:-.04em;
}
.dashboard-hero__copy{max-width:430px}
.dashboard-hero__copy p,.form-hero__grid>div:last-child p,.packages-hero>.portal-shell>p{color:var(--muted);line-height:1.9}
.dashboard-hero__copy .button{margin-top:16px}

.portal-section{padding:90px 0}
.portal-section--soft{background:#0a0a0a;border-top:1px solid rgba(205,169,85,.07);border-bottom:1px solid rgba(205,169,85,.07)}
.section-heading{margin-bottom:45px}
.section-heading--row{display:flex;align-items:end;justify-content:space-between;gap:30px}
.section-heading h2{margin:16px 0 0;font-family:var(--font-serif);font-size:58px;font-weight:500;line-height:.95}

/* =========================================================
   DASHBOARD CARDS
   ========================================================= */
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.metric-card{padding:30px;background:#090909;transition:background .3s ease}
.metric-card:hover{background:#0f0f0f}
.metric-card>span{display:block;color:var(--gold);font-size:8px;letter-spacing:.24em}
.metric-card strong{display:block;margin:30px 0 4px;font-family:var(--font-serif);font-size:58px;font-weight:500}
.metric-card p{margin:0;color:var(--muted);font-size:13px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quick-card{min-height:310px;display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);background:#080808;text-decoration:none;transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .35s ease,background .35s ease}
.quick-card:hover{transform:translateY(-8px);border-color:rgba(205,169,85,.42);background:#0e0e0e}
.quick-card__number{color:var(--gold);font-size:9px;letter-spacing:.24em}
.quick-card h3{margin:60px 0 14px;font-family:var(--font-serif);font-size:32px;font-weight:500}
.quick-card p{color:var(--muted);line-height:1.7}
.quick-card strong{margin-top:auto;color:var(--gold);font-size:10px;letter-spacing:.12em;text-transform:uppercase}

/* =========================================================
   TABLE
   ========================================================= */
.table-wrap{overflow-x:auto;border:1px solid var(--line)}
.data-table{width:100%;border-collapse:collapse;min-width:720px}
.data-table th,.data-table td{padding:18px 20px;border-bottom:1px solid rgba(205,169,85,.09);text-align:left}
.data-table th{color:#605950;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.data-table td{color:#968f85;font-size:13px}
.data-table td strong{display:block;color:var(--white)}
.data-table td small{display:block;margin-top:4px;color:#625d56}
.status-badge{display:inline-flex;padding:7px 10px;border:1px solid rgba(205,169,85,.22);color:#c0a76b;font-size:9px;letter-spacing:.08em;white-space:nowrap}
.empty-state{padding:55px;border:1px solid var(--line);text-align:center}
.empty-state h3{font-family:var(--font-serif);font-size:32px;font-weight:500}
.empty-state p{color:var(--muted)}

/* =========================================================
   PACKAGES — PREMIUM
   ========================================================= */
.packages-hero--enhanced{overflow:hidden}
.packages-hero--enhanced::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 15% 30%,rgba(205,169,85,.12),transparent 24%),
        radial-gradient(circle at 82% 40%,rgba(85,90,120,.12),transparent 26%);
    pointer-events:none;
}
.packages-hero__grid-enhanced{position:relative;z-index:1;display:grid;grid-template-columns:1.18fr .82fr;gap:60px;align-items:end}
.packages-hero__grid-enhanced>div:first-child p{max-width:760px;margin:28px 0 0;color:var(--muted);line-height:1.9}
.packages-hero__badge-card{
    padding:28px;
    border:1px solid rgba(205,169,85,.20);
    background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
    box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.packages-hero__badge-card ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.9}

.packages-overview-section{padding-top:70px;padding-bottom:55px;background:#080808}
.package-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.package-mini-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:360px;
    padding:30px;
    border:1px solid var(--line);
    background:
        linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.006)),
        #0a0a0a;
    transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .35s ease,background .35s ease;
}
.package-mini-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(205,169,85,.08),transparent 28%);pointer-events:none}
.package-mini-card:hover{transform:translateY(-8px);border-color:rgba(205,169,85,.40);box-shadow:0 32px 80px rgba(0,0,0,.34)}
.package-mini-card.is-featured{border-color:rgba(205,169,85,.52);transform:translateY(-10px);box-shadow:0 40px 95px rgba(0,0,0,.40)}
.package-mini-card__flag{position:absolute;top:18px;right:18px;padding:7px 10px;border-radius:999px;background:var(--gold);color:#090909;font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.package-mini-card__label{position:relative;z-index:1;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.package-mini-card strong{position:relative;z-index:1;display:block;margin:20px 0 12px;font-family:var(--font-serif);font-size:48px;font-weight:500;color:var(--white)}
.package-mini-card p{position:relative;z-index:1;margin-bottom:18px;color:var(--muted);line-height:1.7;font-size:13px}
.package-mini-card ul{position:relative;z-index:1;margin:0 0 22px;padding:0;list-style:none}
.package-mini-card ul li{position:relative;padding:11px 0 11px 18px;border-top:1px solid rgba(205,169,85,.08);color:#9e968d;font-size:12px}
.package-mini-card ul li::before{content:"";position:absolute;left:0;top:16px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.package-mini-card .text-link{position:relative;z-index:1;margin-top:auto}

.packages-section{background:#080808;padding-top:45px}
.package-card{
    position:relative;
    margin-bottom:38px;
    border:1px solid var(--line);
    background:#0b0b0b;
    overflow:hidden;
    box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.package-card--gold{border-color:rgba(205,169,85,.5);box-shadow:0 30px 90px rgba(0,0,0,.34)}
.package-card--diamond{background:radial-gradient(circle at 90% 0%,rgba(112,125,155,.14),transparent 28%),#0b0b0b}
.package-card__ribbon{position:absolute;top:0;right:0;z-index:2;padding:10px 18px;background:var(--gold);color:#090909;font-size:8px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.package-card__top{display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;padding:38px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(205,169,85,.025),transparent 48%)}
.package-card__number{color:var(--gold);font-size:10px;letter-spacing:.28em}
.package-card__name>span,.package-card__price small{display:block;margin-bottom:3px;color:#716a61;font-size:8px;letter-spacing:.2em;text-transform:uppercase}
.package-card__name h2{margin:0;font-family:var(--font-serif);font-size:56px;font-weight:500}
.package-card__price{text-align:right}
.package-card__price strong{display:block;font-family:var(--font-serif);font-size:46px;font-weight:500;color:var(--gold)}
.package-card__price>span{color:#625b53;font-size:10px}
.package-card__grid{display:grid;grid-template-columns:1.15fr 1fr .85fr}
.package-card__grid>div{padding:38px}
.package-card__grid>div+div{border-left:1px solid var(--line)}
.package-card__description h3{font-family:var(--font-serif);font-size:36px;font-weight:500;line-height:1.08}
.package-card__description p,.package-tax,.diamond-message p{color:var(--muted);line-height:1.8;font-size:13px}
.package-ideal-tag{display:inline-flex;margin-bottom:18px;padding:8px 12px;border-radius:999px;border:1px solid rgba(205,169,85,.18);color:var(--gold);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.mini-title{display:block;margin-bottom:22px;color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.feature-list{margin:0;padding:0;list-style:none}
.feature-list li{position:relative;padding:13px 0 13px 22px;border-bottom:1px solid rgba(205,169,85,.08);color:#968e84;font-size:13px;line-height:1.6}
.feature-list li::before{content:"";position:absolute;left:0;top:21px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.payment-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(205,169,85,.09);color:#7e776e;font-size:12px}
.payment-row strong{color:var(--white)}
.payment-row--total{margin-top:6px;color:var(--gold)}
.payment-row--total strong{color:var(--gold);font-family:var(--font-serif);font-size:24px}
.package-card__payment .button{margin-top:18px}
.diamond-message{padding:25px;border:1px solid rgba(205,169,85,.14);background:#090909}
.diamond-message strong{font-family:var(--font-serif);font-size:28px;font-weight:500}

.portal-cta{padding:85px 0;border-top:1px solid var(--line);background:#050505}
.portal-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.portal-cta h2{margin:15px 0 0;font-family:var(--font-serif);font-size:50px;font-weight:500}

/* =========================================================
   PROSPECT FORM
   ========================================================= */
.form-hero__grid>div:last-child{max-width:430px}
.prospect-form{border-top:1px solid var(--line)}
.form-section{display:grid;grid-template-columns:90px 1fr;padding:50px 0;border-bottom:1px solid var(--line)}
.form-section__number{padding-top:7px;color:var(--gold);font-size:9px;letter-spacing:.24em}
.form-section__heading{margin-bottom:30px}
.form-section__heading>span{display:block;margin-bottom:8px;color:#676057;font-size:8px;letter-spacing:.22em;text-transform:uppercase}
.form-section__heading h2{margin:0;font-family:var(--font-serif);font-size:36px;font-weight:500}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-actions{display:flex;justify-content:flex-end;gap:15px;padding-top:34px}

/* =========================================================
   PROSPECT LIST
   ========================================================= */
.list-hero__action{display:flex;justify-content:flex-end}
.filters{display:grid;grid-template-columns:minmax(260px,1fr) 240px auto auto;align-items:end;gap:15px;margin-bottom:30px}
.results-meta{display:flex;align-items:baseline;gap:9px;margin-bottom:20px;color:#726b63;font-size:12px}
.results-meta strong{font-family:var(--font-serif);font-size:26px;color:var(--gold)}
.prospects-list{border-top:1px solid var(--line)}
.prospect-card{display:grid;grid-template-columns:60px minmax(0,1fr) 230px;gap:28px;padding:30px 0;border-bottom:1px solid var(--line)}
.prospect-card__number{padding-top:6px;color:var(--gold);font-size:9px;letter-spacing:.2em}
.prospect-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}
.prospect-card__top h2{margin:0;font-family:var(--font-serif);font-size:34px;font-weight:500}
.prospect-card__top p{margin:5px 0 0;color:#625b54;font-size:12px}
.prospect-card__details{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.prospect-card__details span{display:block;margin-bottom:5px;color:#5f5850;font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.prospect-card__details strong{color:#aaa298;font-size:12px;font-weight:400}
.prospect-card__actions{display:flex;flex-direction:column;gap:12px}
.status-form{display:grid;grid-template-columns:1fr auto}
.status-form select,.status-form button{min-height:42px;border:1px solid var(--line);background:#0b0b0b;color:#978f85;font-size:10px}
.status-form select{min-width:0;padding:0 10px}
.status-form button{border-left:0;padding:0 12px;color:var(--gold)}
.prospect-more{margin-top:22px}
.prospect-more summary{width:max-content;color:var(--gold);cursor:pointer;font-size:10px;letter-spacing:.08em}
.prospect-more__content{margin-top:15px;padding:18px;background:#0b0b0b;border:1px solid rgba(205,169,85,.08)}
.prospect-more__content p{margin:0 0 10px;color:#837c73;font-size:12px;line-height:1.6}
.prospect-more__content p:last-child{margin-bottom:0}
.prospect-more__content span{color:var(--gold)}

/* =========================================================
   REVEAL
   ========================================================= */
.reveal-pending{opacity:0;transform:translateY(25px)}
.reveal-visible{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .75s cubic-bezier(.22,1,.36,1)}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1050px){
    .package-card__grid{grid-template-columns:1fr}
    .package-card__grid>div+div{border-left:0;border-top:1px solid var(--line)}
    .metrics-grid{grid-template-columns:repeat(2,1fr)}
    .prospect-card{grid-template-columns:45px 1fr}
    .prospect-card__actions{grid-column:2;max-width:400px}
    .prospect-card__details{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:950px){
    .packages-hero__grid-enhanced,.package-overview-grid{grid-template-columns:1fr}
    .package-mini-card.is-featured{transform:none}
}

@media(max-width:850px){
    .portal-menu-toggle{display:block}
    .portal-nav{
        position:absolute;
        top:88px;
        left:0;
        right:0;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:0 24px 20px;
        background:#080808;
        border-bottom:1px solid var(--line);
    }
    .portal-nav.is-open{display:flex}
    .portal-nav a{padding:16px 0;border-bottom:1px solid rgba(205,169,85,.08)}
    .portal-nav a::after{display:none}
    .login-panel,.dashboard-hero__grid,.form-hero__grid,.list-hero__grid{grid-template-columns:1fr;gap:38px}
    .login-panel{gap:55px}
    .quick-grid{grid-template-columns:1fr}
    .quick-card{min-height:250px}
    .filters{grid-template-columns:1fr 1fr}
    .package-card__top{grid-template-columns:50px 1fr}
    .package-card__price{grid-column:2;text-align:left}
    .portal-cta__inner{align-items:flex-start;flex-direction:column}
}

@media(max-width:620px){
    .portal-shell{width:min(100% - 30px,1240px)}
    .portal-header__inner{min-height:76px}
    .portal-brand__logo{width:48px;height:48px}
    .portal-brand strong{font-size:10px;letter-spacing:.15em}
    .portal-brand small{font-size:7px;letter-spacing:.12em}
    .portal-nav{top:76px}
    .login-screen{padding:45px 0 60px}
    .login-card{padding:30px 22px}
    .login-panel__logo{width:92px}
    .login-panel__intro h1,.dashboard-hero h1,.packages-hero h1,.form-hero h1,.list-hero h1{font-size:clamp(48px,15vw,68px)}
    .dashboard-hero,.packages-hero,.form-hero,.list-hero{padding:70px 0 60px}
    .portal-section{padding:65px 0}
    .metrics-grid{grid-template-columns:1fr}
    .section-heading--row{align-items:flex-start;flex-direction:column}
    .section-heading h2{font-size:46px}
    .package-mini-card{min-height:0}
    .package-mini-card strong{font-size:38px}
    .package-card__top{padding:26px 20px}
    .package-card__grid>div{padding:26px 20px}
    .package-card__name h2{font-size:44px}
    .package-card__price strong{font-size:36px}
    .form-section{grid-template-columns:1fr;gap:18px;padding:38px 0}
    .form-grid{grid-template-columns:1fr}
    .field--full{grid-column:auto}
    .form-actions{flex-direction:column-reverse}
    .form-actions .button{width:100%}
    .filters{grid-template-columns:1fr}
    .filters .button{width:100%}
    .prospect-card{grid-template-columns:1fr;gap:15px}
    .prospect-card__actions{grid-column:auto;max-width:none}
    .prospect-card__details{grid-template-columns:1fr}
    .prospect-card__top{flex-direction:column}
    .portal-footer__inner{min-height:100px;flex-direction:column;justify-content:center;align-items:flex-start}
}
/* =========================================================
   PROSPECT FORM - FIX VISUAL FINAL
   ========================================================= */

.prospect-form{
    width:100%;
    border-top:0;
}


/* =========================================================
   FORM SECTION
   ========================================================= */

.prospect-form .form-section{
    display:grid;
    grid-template-columns:70px minmax(0,1fr);
    gap:28px;

    margin-bottom:28px;
    padding:38px;

    border:1px solid rgba(205,169,85,.18);
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.028),
            rgba(255,255,255,.008)
        );

    box-shadow:
        0 24px 70px
        rgba(0,0,0,.22);

    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
}


.prospect-form .form-section__number{
    padding-top:9px;

    color:var(--gold);
    font-size:10px;
    font-weight:700;
    letter-spacing:.25em;
}


.prospect-form .form-section__body{
    width:100%;
    min-width:0;
}


/* =========================================================
   HEADING
   ========================================================= */

.prospect-form .form-section__heading{
    margin-bottom:32px;
}


.prospect-form .form-section__heading > span{
    display:block;

    margin-bottom:8px;

    color:#81796e;

    font-size:9px;
    font-weight:700;

    letter-spacing:.20em;

    text-transform:uppercase;
}


.prospect-form .form-section__heading h2{
    margin:0;

    color:var(--white);

    font-family:var(--font-serif);

    font-size:
        clamp(
            30px,
            3vw,
            42px
        );

    font-weight:500;

    line-height:1;
}


/* =========================================================
   GRID
   ========================================================= */

.prospect-form .form-grid{
    display:grid !important;

    grid-template-columns:
        repeat(2,minmax(0,1fr)) !important;

    gap:
        24px
        22px !important;

    width:100%;
}


/* =========================================================
   FIELD
   ========================================================= */

.prospect-form .field{
    display:flex !important;
    flex-direction:column !important;

    gap:10px !important;

    width:100% !important;

    opacity:1 !important;
    visibility:visible !important;
}


.prospect-form .field > span{
    display:block !important;

    color:#9b9389 !important;

    font-size:9px !important;
    font-weight:700 !important;

    letter-spacing:.16em !important;

    text-transform:uppercase !important;
}


/* =========================================================
   INPUTS
   ========================================================= */

.prospect-form .field input,
.prospect-form .field select,
.prospect-form .field textarea{

    display:block !important;

    width:100% !important;

    opacity:1 !important;
    visibility:visible !important;

    border:
        1px solid
        rgba(205,169,85,.30) !important;

    border-radius:
        2px !important;

    outline:none !important;

    background:
        #11100f !important;

    color:
        #f4f0ea !important;

    box-shadow:
        inset 0 0 0 1px
        rgba(255,255,255,.015);

    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}


/* Input */

.prospect-form .field input,
.prospect-form .field select{

    height:
        56px !important;

    min-height:
        56px !important;

    padding:
        0
        16px !important;

    font-size:
        14px !important;
}


/* Textarea */

.prospect-form .field textarea{

    min-height:
        120px !important;

    padding:
        16px !important;

    resize:
        vertical !important;

    font-size:
        14px !important;

    line-height:
        1.7 !important;
}


/* =========================================================
   PLACEHOLDER
   ========================================================= */

.prospect-form
.field input::placeholder,

.prospect-form
.field textarea::placeholder{

    color:
        #5e5851 !important;

    opacity:1;
}


/* =========================================================
   SELECT
   ========================================================= */

.prospect-form .field select{

    appearance:auto !important;

    cursor:pointer;

    color-scheme:dark;
}


.prospect-form .field select option{

    background:#11100f;

    color:#f4f0ea;
}


/* =========================================================
   FOCUS
   ========================================================= */

.prospect-form .field input:focus,
.prospect-form .field select:focus,
.prospect-form .field textarea:focus{

    border-color:
        var(--gold) !important;

    background:
        #151310 !important;

    box-shadow:
        0
        0
        0
        3px
        rgba(205,169,85,.07) !important;
}


/* =========================================================
   FULL WIDTH
   ========================================================= */

.prospect-form .field--full{

    grid-column:
        1 / -1 !important;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.prospect-form .form-actions{

    display:flex !important;

    justify-content:flex-end;

    align-items:center;

    gap:15px;

    padding-top:18px;
}


/* =========================================================
   DECORATIVE HOVER
   ========================================================= */

.prospect-form .form-section{

    transition:
        border-color .35s ease,
        background .35s ease,
        transform .4s
        cubic-bezier(.22,1,.36,1);
}


.prospect-form .form-section:hover{

    border-color:
        rgba(205,169,85,.28);

    background:
        linear-gradient(
            145deg,
            rgba(205,169,85,.025),
            rgba(255,255,255,.01)
        );
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:850px){

    .prospect-form .form-section{

        grid-template-columns:
            1fr;

        gap:18px;

        padding:
            30px
            24px;
    }


    .prospect-form .form-grid{

        grid-template-columns:
            1fr !important;
    }


    .prospect-form .field--full{

        grid-column:auto !important;
    }

}


@media(max-width:620px){

    .prospect-form .form-section{

        padding:
            25px
            18px;

        margin-bottom:
            18px;
    }


    .prospect-form
    .form-section__heading h2{

        font-size:
            30px;
    }


    .prospect-form
    .form-actions{

        flex-direction:
            column-reverse;

        align-items:
            stretch;
    }


    .prospect-form
    .form-actions .button{

        width:100%;
    }

}






