:root{--bg:#f5f2ec;--bg-2:#faf8f5;--primary:#b5581c;--primary-2:#c8692e;--text:#1a1814;--muted:#4a453e;--card:#ffffff;--accent:#c8922a;--gold:#c8922a;--gold-light:#fef3e0;--green:#2a7a4b;--shadow:0 10px 30px rgba(26,24,20,.10);--border:#ddd8ce;--r:10px}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:linear-gradient(180deg,var(--bg),var(--bg-2));color:var(--text);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1120px,92%);margin-inline:auto}
.section{position:relative}
.pad-lg{padding:80px 0}
@media (min-width: 992px){.pad-lg{padding:110px 0}}
.section-head{max-width:760px;margin:0 auto 36px;text-align:center}
.section-head h2{margin:0 0 10px;font-size:clamp(24px,3.5vw,38px)}
.section-head p{margin:0;color:var(--muted)}

/* Preloader */
#preloader{position:fixed;inset:0;background:var(--bg);display:grid;place-items:center;z-index:9999;transition:opacity .4s ease,visibility .4s ease}
#preloader.hide{opacity:0;visibility:hidden}
.spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--primary);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Back to top */
#backToTop{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:999px;border:0;background:var(--primary);color:#fff;box-shadow:var(--shadow);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:50}
#backToTop.show{opacity:1;pointer-events:auto;transform:translateY(-4px)}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border-bottom:1px solid rgba(16,24,40,.06)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{font-weight:700;letter-spacing:.5px}
.nav .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(16,24,40,.15);background:transparent;color:var(--text);border-radius:8px}
.menu{list-style:none;margin:0;padding:0;display:none;flex-direction:column;gap:10px}
.menu a{display:block;padding:10px 14px;border-radius:8px;color:var(--muted)}
.menu a:hover{color:var(--text);background:rgba(16,24,40,.06)}
@media (min-width: 992px){
  .nav .nav-toggle{display:none}
  .menu{display:flex;flex-direction:row;gap:6px}
}

/* Hero */
.hero{padding:80px 0 40px;overflow:hidden}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.blob{position:absolute;width:480px;height:480px;background:radial-gradient(ellipse at 30% 30%,rgba(255,118,176,.45),rgba(124,114,255,.35),transparent 60%);filter:blur(40px);border-radius:50%;animation:blobMove 18s ease-in-out infinite}
.blob-2{left:auto;right:-120px;top:20%;animation-delay:-9s}
@keyframes blobMove{0%{transform:translate(-120px,0) scale(1)}50%{transform:translate(60px,40px) scale(1.1)}100%{transform:translate(-120px,0) scale(1)}}
.hero-grid{display:grid;gap:40px;align-items:center}
@media (min-width: 992px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:60px;padding:30px 0 10px}}
.hero-copy h1{font-size:clamp(30px,4.8vw,56px);margin:0 0 10px}
.lead{color:var(--muted);margin:0 0 20px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,background .2s ease}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;border-color:rgba(16,24,40,.18);color:var(--text)}
.play-icon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#fff;color:#111;font-size:12px}
.hero-art{display:grid;place-items:center}
.phone{width:min(330px,80vw);aspect-ratio:9/18;border-radius:36px;background:linear-gradient(180deg,#ffffff,#f4f7ff);padding:18px;border:2px solid rgba(16,24,40,.08);box-shadow:var(--shadow)}
.screen{position:relative;width:100%;height:100%;border-radius:24px;background:#ffffff;overflow:hidden}
.screen img{width:100%;height:100%;object-fit:cover;display:block}
.app-card{position:absolute;left:50%;top:10%;width:78%;height:24%;transform:translateX(-50%) translateY(calc(var(--i)*120%));border-radius:16px;background:linear-gradient(180deg,#f3f5ff,#e9ecff);box-shadow:0 10px 30px rgba(16,24,40,.15);border:1px solid rgba(16,24,40,.06);animation:float 6s ease-in-out infinite;animation-delay:calc(var(--i)*.4s)}
@keyframes float{0%,100%{transform:translateX(-50%) translateY(calc(var(--i)*120%))}50%{transform:translateX(-50%) translateY(calc(var(--i)*120% - 12px))}}

/* Features */
.grid{display:grid;gap:20px}
.features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-width:900px;margin-left:auto;margin-right:auto;justify-items:center}
.feature{background:var(--card);border:1px solid rgba(16,24,40,.08);border-radius:16px;padding:22px;box-shadow:0 10px 20px rgba(16,24,40,.08)}
.feature .icon{font-size:24px;line-height:1;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(99,91,255,.15);margin-bottom:12px}
.feature h3{margin:6px 0 8px}
.feature p{margin:0;color:var(--muted)}

/* How rows */
.alt{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.help-rows{display:grid;gap:16px}
.help-row{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:var(--card);border:1px solid rgba(16,24,40,.08);border-radius:14px;padding:16px}
.help-icon{width:42px;height:42px;border-radius:12px;background:rgba(34,211,238,.15);display:grid;place-items:center}
.help-copy h3{margin:4px 0 6px}
.help-copy p{margin:0;color:var(--muted)}

/* Carousel (screenshots) */
.carousel{position:relative;overflow:hidden;border-radius:16px;border:1px solid rgba(16,24,40,.08);background:rgba(16,24,40,.02);padding:14px}
.carousel-track{display:flex;gap:14px;transition:transform .5s ease}
.shot{flex:0 0 80%;aspect-ratio:9/16;border-radius:14px;background:#fff;border:1px solid rgba(16,24,40,.08);box-shadow:0 10px 30px rgba(16,24,40,.12);overflow:hidden}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width: 768px){.shot{flex-basis:40%}}
@media (min-width: 1200px){.shot{flex-basis:25%}}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:10px;border:1px solid rgba(16,24,40,.12);background:rgba(255,255,255,.9);color:var(--text);display:grid;place-items:center;cursor:pointer}
.carousel-btn.prev{left:10px}
.carousel-btn.next{right:10px}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}
.carousel-dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(16,24,40,.25);cursor:pointer}
.carousel-dots button.active{background:#1f2937}

/* Pricing */
.price-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.price{background:var(--card);border:1px solid rgba(16,24,40,.08);border-radius:16px;box-shadow:0 10px 20px rgba(16,24,40,.08);padding:20px}
.price header{border-bottom:1px solid rgba(16,24,40,.06);padding-bottom:14px;margin-bottom:14px}
.price .term{color:var(--muted);font-size:14px}
.price .tag{font-size:28px;font-weight:700}
.price .currency{font-size:.7em;opacity:.8}
.price .per{font-size:.6em;color:var(--muted)}
.price .features-list{list-style:none;padding:0;margin:0 0 16px;color:var(--muted)}
.price .features-list li{padding:6px 0}
.price a.btn{width:100%;justify-content:center}
.price.featured{outline:2px solid var(--primary);transform:translateY(-2px)}

/* Testimonials */
.testi{position:relative}
.testi-track{display:flex;gap:20px;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.quote{flex:0 0 100%;background:var(--card);border:1px solid rgba(16,24,40,.08);border-radius:16px;padding:24px}
.quote blockquote{margin:0 0 10px;font-size:18px}
.quote figcaption{color:var(--muted)}
.testi-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}
.testi-dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(16,24,40,.25);cursor:pointer}
.testi-dots button.active{background:#1f2937}

/* CTA */
.cta{text-align:center}
.store-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.store{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.18)}
.store.apple{background:rgba(255,255,255,.06)}
.store.google{background:rgba(124,114,255,.12)}

/* Footer */
.site-footer{padding-top:60px}
.footer-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.footer-grid .logo{margin:0}
.list{list-style:none;padding:0;margin:0}
.list a{color:var(--muted)}
.newsletter{display:flex;gap:8px;margin-top:8px}
.newsletter input{flex:1;min-width:140px;border-radius:10px;border:1px solid rgba(16,24,40,.15);background:#fff;color:var(--text);padding:10px}
.footer-bottom{border-top:1px solid rgba(16,24,40,.06);padding:16px 0;margin-top:20px;color:var(--muted);text-align:center}

.social-links {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 15px;
}
.social-links a {
    color: var(--muted);
    transition: color 0.3s ease, transform 0.3s ease;
    display: inline-block;
}
.social-links a:hover {
    color: var(--primary);
    transform: translateY(-3px);
}
.social-links svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

/* Animations (scroll-in) */
[data-animate]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;transition-delay:var(--delay,0s)}
[data-animate].in-view{opacity:1;transform:none}
[data-animate="fade-right"]{transform:translateX(-24px)}
[data-animate="fade-left"]{transform:translateX(24px)}
[data-animate="float-in"]{opacity:0;transform:translateY(16px) scale(.98)}
[data-animate="float-in"].in-view{opacity:1;transform:translateY(0) scale(1)}

/* Utils */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== Enhanced Responsive Design ===== */

/* Mobile First - Base styles above are mobile-first */

/* Small Mobile (320px - 480px) */
@media (max-width: 480px){
  .container{width:94%}
  .pad-lg{padding:50px 0}
  .section-head h2{font-size:22px}
  .hero{padding:60px 0 30px}
  .hero-copy h1{font-size:28px;line-height:1.2}
  .lead{font-size:15px}
  .actions{flex-direction:column;width:100%}
  .btn{width:100%;justify-content:center}
  .phone{width:90vw}
  .feature{padding:18px}
  .help-row{grid-template-columns:1fr;gap:12px;padding:14px}
  .help-icon{margin:0 auto}
  .price{padding:16px}
  .price .tag{font-size:24px}
  .quote{padding:18px}
  .quote blockquote{font-size:16px}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .newsletter{flex-direction:column}
  .newsletter input,.newsletter button{width:100%}
  #backToTop{right:15px;bottom:15px;width:40px;height:40px}
}

/* Mobile (481px - 767px) */
@media (min-width: 481px) and (max-width: 767px){
  .container{width:93%}
  .pad-lg{padding:60px 0}
  .hero{padding:70px 0 35px}
  .hero-copy h1{font-size:32px}
  .actions{gap:10px}
  .btn{padding:11px 16px}
  .phone{width:75vw}
  .features-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .help-row{padding:15px}
  .shot{flex-basis:70%}
  .price-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}

/* Tablet Portrait (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px){
  .container{width:92%}
  .pad-lg{padding:70px 0}
  .hero{padding:75px 0 40px}
  .hero-grid{gap:35px}
  .hero-copy h1{font-size:38px}
  .lead{font-size:16px}
  .phone{width:min(350px,65vw)}
  .features-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .help-row{padding:16px;gap:14px}
  .shot{flex-basis:45%}
  .price-grid{grid-template-columns:repeat(2,1fr)}
  .price.featured{grid-column:1/-1;max-width:400px;margin:0 auto}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .menu{gap:4px}
  .menu a{padding:8px 12px;font-size:15px}
}

/* Tablet Landscape / Small Laptop (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px){
  .container{width:min(1040px,92%)}
  .pad-lg{padding:90px 0}
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:50px}
  .hero-copy h1{font-size:44px}
  .phone{width:min(320px,100%)}
  .features-grid{grid-template-columns:repeat(3,1fr)}
  .shot{flex-basis:30%}
  .price-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:repeat(4,1fr)}
}

/* Desktop (1200px - 1439px) */
@media (min-width: 1200px) and (max-width: 1439px){
  .container{width:min(1120px,92%)}
  .hero-grid{grid-template-columns:1.1fr .9fr;gap:60px}
  .features-grid{grid-template-columns:repeat(4,1fr)}
  .shot{flex-basis:25%}
}

/* Large Desktop (1440px+) */
@media (min-width: 1440px){
  .container{width:min(1280px,90%)}
  .pad-lg{padding:120px 0}
  .hero{padding:100px 0 50px}
  .hero-copy h1{font-size:58px}
  .lead{font-size:18px}
  .phone{width:360px}
  .features-grid{grid-template-columns:repeat(4,1fr);gap:24px}
  .help-row{padding:18px;gap:18px}
  .section-head{max-width:820px}
  .section-head h2{font-size:42px}
}

/* Landscape Mobile */
@media (max-height: 500px) and (orientation: landscape){
  .hero{padding:40px 0 30px}
  .pad-lg{padding:50px 0}
  .hero-grid{gap:30px}
  .phone{width:min(280px,45vw)}
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse){
  .btn{padding:14px 20px;min-height:48px}
  .carousel-btn{width:48px;height:48px}
  .nav-toggle{min-width:44px;min-height:44px}
  .menu a{padding:12px 16px;min-height:44px}
}

/* Print styles */
@media print{
  .site-header,.nav,.carousel-btn,.carousel-dots,.testi-dots,#backToTop,#preloader,.store-buttons,.newsletter{display:none}
  body{background:#fff;color:#000}
  .hero-bg,.blob{display:none}
}

/* Queries Section */
.queries-grid {
    display: grid;
    gap: 30px;
}
@media (min-width: 992px) {
    .queries-grid {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
}

/* Accordion */
.faq-wrap h3, .bot-wrap h3 {
    margin-bottom: 20px;
    font-size: 22px;
}
.accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.acc-item {
    background: var(--card);
    border: 1px solid rgba(16,24,40,.08);
    border-radius: 12px;
    overflow: hidden;
}
.acc-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: transparent;
    border: 0;
    font-size: 16px;
    font-weight: 500;
    color: var(--text);
    cursor: pointer;
    text-align: left;
}
.acc-btn .icon {
    font-size: 20px;
    transition: transform 0.3s ease;
}
.acc-btn[aria-expanded="true"] .icon {
    transform: rotate(45deg);
    color: var(--primary);
}
.acc-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: rgba(16,24,40,.02);
}
.acc-content p {
    margin: 0;
    padding: 0 20px 20px;
    color: var(--muted);
    font-size: 15px;
}

/* Chat Bot */
.chat-interface {
    background: var(--card);
    border: 1px solid rgba(16,24,40,.08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(16,24,40,.08);
    display: flex;
    flex-direction: column;
    height: 400px;
}
.chat-output {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #f9fafb;
}
.msg {
    max-width: 80%;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.5;
}
.msg.bot {
    align-self: flex-start;
    background: #fff;
    border: 1px solid rgba(16,24,40,.08);
    border-bottom-left-radius: 2px;
}
.msg.bot.loading {
    color: var(--muted);
    font-style: italic;
    background: rgba(16,24,40,.02);
}
.msg.user {
    align-self: flex-end;
    background: var(--primary);
    color: #fff;
    border-bottom-right-radius: 2px;
}
.chat-input {
    display: flex;
    padding: 10px;
    background: #fff;
    border-top: 1px solid rgba(16,24,40,.08);
}
.chat-input input {
    flex: 1;
    border: 1px solid rgba(16,24,40,.15);
    border-radius: 8px;
    padding: 10px 14px;
    outline: none;
    transition: border-color 0.2s;
}
.chat-input input:focus {
    border-color: var(--primary);
}
.chat-input button {
    background: var(--primary);
    color: #fff;
    border: 0;
    border-radius: 8px;
    width: 42px;
    margin-left: 8px;
    cursor: pointer;
    font-size: 18px;
    transition: background 0.2s;
}
.chat-input button:hover {
    background: var(--primary-2);
}

/* Analysis Table */
.table-responsive { overflow-x: auto; margin-bottom: 1rem; }
.analysis-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.analysis-table th, .analysis-table td { padding: 8px 12px; border: 1px solid #eee; text-align: left; }
.analysis-table th { background-color: #f9fafb; font-weight: 600; color: var(--text); }
.analysis-table tr:nth-child(even) { background-color: #fcfcfc; }

/* Toast */
.toast-container { position: fixed; top: 20px; right: 20px; z-index: 3000; display: flex; flex-direction: column; gap: 10px; }
.toast { background: #323232; color: white; padding: 12px 24px; border-radius: 4px; box-shadow: 0 2px 10px rgba(0,0,0,0.2); animation: slideIn 0.3s ease-out; display: flex; align-items: center; justify-content: space-between; min-width: 250px; }
.toast.success { border-left: 4px solid #4caf50; }
.toast.error { border-left: 4px solid #f44336; }
.toast.info { border-left: 4px solid #2196f3; }
.toast.warning { border-left: 4px solid #ff9800; }
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* Quick Analyzer responsive */
@media (max-width: 768px) {
    .analyzer-grid { grid-template-columns: 1fr !important; }
    #how [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }
    #how [style*="order: 2"] { order: unset !important; }
    #how [style*="order: 1"] { order: unset !important; }
}

/* ===== Marketplace Section ===== */

/* Filters */
.mp-filters {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.mp-filter-group { flex: 0 1 240px; }
.mp-select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--card);
    color: var(--text);
    font-family: inherit;
    font-size: 0.95rem;
    cursor: pointer;
    transition: border-color 0.2s;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a453e' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
}
.mp-select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(181, 88, 28, 0.12);
}

/* Consultant Card Grid */
.mp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}

/* Consultant Card */
.mp-card {
    background: var(--card);
    border: 1px solid rgba(16,24,40,.08);
    border-radius: 16px;
    padding: 28px 24px;
    box-shadow: 0 4px 16px rgba(26,24,20,.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.mp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(26,24,20,.12);
}

/* Card Photo */
.mp-card-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--gold-light);
    margin-bottom: 14px;
    background: #f5f0e8;
}

/* Card Name */
.mp-card-name {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 8px;
    color: var(--text);
}

/* City Badge */
.mp-badge {
    display: inline-block;
    background: var(--gold-light);
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 12px;
    border-radius: 20px;
    margin-bottom: 8px;
    letter-spacing: 0.3px;
}

/* Specialty */
.mp-card-specialty {
    font-size: 0.85rem;
    color: var(--muted);
    margin: 0 0 6px;
}

/* Stars */
.mp-stars {
    color: var(--gold);
    font-size: 1rem;
    letter-spacing: 2px;
    margin-bottom: 6px;
}

/* Price */
.mp-card-price {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--primary);
    margin: 0 0 10px;
}

/* Bio */
.mp-card-bio {
    font-size: 0.85rem;
    color: var(--muted);
    line-height: 1.5;
    margin: 0 0 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 2.55em;
}

/* Card CTA Button */
.mp-card-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    color: #fff;
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-top: auto;
}
.mp-card-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(181, 88, 28, 0.25);
}

/* No results */
.mp-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: var(--muted);
    font-size: 1.05rem;
}

/* Skeleton Loading */
.mp-skeleton {
    pointer-events: none;
}
.mp-skel-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
    background-size: 200% 100%;
    animation: mp-shimmer 1.4s ease-in-out infinite;
    margin-bottom: 14px;
}
.mp-skel-line {
    height: 14px;
    border-radius: 7px;
    background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
    background-size: 200% 100%;
    animation: mp-shimmer 1.4s ease-in-out infinite;
    margin-bottom: 10px;
}
.mp-skel-line.w80 { width: 80%; }
.mp-skel-line.w60 { width: 60%; }
.mp-skel-line.w50 { width: 50%; }
.mp-skel-line.w40 { width: 40%; }
@keyframes mp-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Consultation Modal */
.mp-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(26, 24, 20, 0.55);
    backdrop-filter: blur(4px);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.mp-modal {
    background: var(--card);
    border-radius: 16px;
    padding: 32px 28px;
    width: min(480px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(26,24,20,.2);
    position: relative;
    animation: mp-modal-enter 0.3s ease;
}
@keyframes mp-modal-enter {
    from { opacity: 0; transform: translateY(20px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.mp-modal-close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    font-size: 28px;
    color: var(--muted);
    cursor: pointer;
    line-height: 1;
    transition: color 0.2s;
}
.mp-modal-close:hover { color: var(--text); }
.mp-modal-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin: 0 0 4px;
    color: var(--text);
}
.mp-modal-subtitle {
    font-size: 0.9rem;
    color: var(--muted);
    margin: 0 0 20px;
}
.mp-form-group { margin-bottom: 14px; }
.mp-input {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.95rem;
    color: var(--text);
    transition: border-color 0.2s;
    background: #fff;
}
.mp-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(181, 88, 28, 0.10);
}
.mp-submit-btn {
    width: 100%;
    justify-content: center;
    margin-top: 6px;
    padding: 13px 20px;
    font-size: 1rem;
}

/* Marketplace responsive */
@media (max-width: 480px) {
    .mp-filters { flex-direction: column; gap: 10px; }
    .mp-filter-group { flex: 1 1 100%; }
    .mp-grid { grid-template-columns: 1fr; gap: 16px; }
    .mp-card { padding: 22px 18px; }
    .mp-modal { padding: 24px 20px; }
}
@media (min-width: 481px) and (max-width: 767px) {
    .mp-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}

