/* ═══════════════════════════════════════════
   G2Verify — Main Stylesheet
   Dark Navy + Gold Theme | Mobile-first
   ═══════════════════════════════════════════ */

/* ── Reset & Base ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0b1d3a;--navy-light:#122b52;--navy-dark:#060f1f;
  --gold:#ffd166;--gold-dark:#e6b84d;
  --blue:#457b9d;--blue-light:#5a9cc0;
  --white:#ffffff;--gray-50:#f8f9fa;--gray-100:#eef1f5;--gray-200:#dde2ea;--gray-300:#bfc6d0;--gray-500:#6b7a8d;--gray-700:#3a4553;--gray-900:#1a2332;
  --success:#2ecc71;--danger:#e74c3c;--warning:#f39c12;--info:#3498db;
  --radius:8px;--radius-lg:12px;--shadow:0 2px 8px rgba(11,29,58,.12);--shadow-lg:0 8px 32px rgba(11,29,58,.18);
  --font:'Inter',system-ui,-apple-system,sans-serif;
  --transition:0.3s ease;
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);color:var(--gray-900);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--navy)}
img{max-width:100%;height:auto}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
.container--narrow{max-width:720px}
.container--xs{max-width:480px}
.text-center{text-align:center}
.text-right{text-align:right}
.mt-2{margin-top:2rem}
.mb-1{margin-bottom:1rem}

/* ── Skip Link ── */
.skip-link{position:absolute;top:-100px;left:0;background:var(--navy);color:var(--white);padding:8px 16px;z-index:9999;border-radius:0 0 var(--radius) 0}
.skip-link:focus{top:0}

/* ── Header ── */
.header{background:var(--navy);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:8px;color:var(--white);font-size:1.25rem;font-weight:700}
.logo__mark{color:var(--gold);font-size:1.5rem}
.logo strong{color:var(--gold)}
.nav{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--navy-light);padding:16px;gap:4px;z-index:99}
.nav.active{display:flex}
.nav__link{color:rgba(255,255,255,.8);padding:10px 16px;border-radius:var(--radius);font-weight:500;transition:all var(--transition)}
.nav__link:hover,.nav__link.is-active{color:var(--white);background:rgba(255,255,255,.1)}
.nav__cta{background:var(--gold)!important;color:var(--navy)!important;font-weight:600;text-align:center}
.nav__cta:hover{background:var(--gold-dark)!important}
.nav__tg{color:var(--gold);font-size:1.4rem;padding:8px;display:flex;align-items:center}
.nav__tg:hover{color:var(--white)}
.nav-toggle{background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;padding:8px}

@media(min-width:768px){
  .nav{display:flex;flex-direction:row;position:static;background:none;padding:0;gap:4px;align-items:center}
  .nav-toggle{display:none}
}

/* ── Hero with World Map ── */
.hero{position:relative;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 50%,var(--navy-dark) 100%);color:var(--white);padding:80px 0 60px;overflow:hidden;min-height:520px;display:flex;align-items:center}
.hero--map .hero__map-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.25;pointer-events:none}
.world-map-svg{width:100%;max-width:1200px;height:auto}
.hero__content{position:relative;z-index:2}
.hero__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,209,102,.15);border:1px solid rgba(255,209,102,.3);color:var(--gold);padding:8px 16px;border-radius:50px;font-size:.85rem;font-weight:600;margin-bottom:20px}
.hero__title{font-size:2.2rem;font-weight:800;line-height:1.15;margin-bottom:16px}
.hero__subtitle{font-size:1.05rem;color:rgba(255,255,255,.85);max-width:600px;margin-bottom:28px;line-height:1.7}
.hero__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px;max-width:500px}
.stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:16px;text-align:center}
.stat__number{display:block;font-size:1.75rem;font-weight:800;color:var(--gold)}
.stat__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7);margin-top:4px}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}

@media(min-width:768px){
  .hero{padding:100px 0 80px}
  .hero__title{font-size:3.2rem}
  .hero__stats{grid-template-columns:repeat(4,1fr);max-width:640px}
}
@media(min-width:1024px){
  .hero__title{font-size:3.8rem}
}

/* ── Page Hero (sub-pages) ── */
.page-hero{background:linear-gradient(135deg,var(--navy),var(--navy-light));color:var(--white);padding:48px 0;text-align:center}
.page-hero h1{font-size:2rem;font-weight:800;margin-bottom:8px}
.page-hero p{color:rgba(255,255,255,.8);font-size:1.05rem}

/* ── Sections ── */
.section{padding:60px 0}
.section--alt{background:var(--gray-50)}
.section__title{font-size:1.75rem;font-weight:800;color:var(--navy);text-align:center;margin-bottom:8px}
.section__title::after{content:'';display:block;width:60px;height:3px;background:var(--gold);margin:12px auto 0;border-radius:2px}
.section__subtitle{text-align:center;color:var(--gray-500);margin-bottom:40px;font-size:1rem}

/* ── Trust Section ── */
.trust-section{background:var(--white);padding:48px 0}
.trust-grid{display:grid;grid-template-columns:1fr;gap:24px}
.trust-item{text-align:center;padding:24px;border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:all var(--transition)}
.trust-item:hover{box-shadow:var(--shadow-lg);border-color:var(--gold)}
.trust-item i{font-size:2rem;color:var(--gold);margin-bottom:12px}
.trust-item h3{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.trust-item p{color:var(--gray-500);font-size:.9rem;line-height:1.6}
@media(min-width:768px){.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.trust-grid{grid-template-columns:repeat(4,1fr)}}

/* ── Services Overview ── */
.services-overview{display:grid;grid-template-columns:1fr;gap:20px}
.service-big-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:28px;transition:all var(--transition)}
.service-big-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--gold)}
.service-big-card__icon{font-size:2rem;color:var(--gold);margin-bottom:12px}
.service-big-card h3{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.service-big-card p{color:var(--gray-500);font-size:.9rem;line-height:1.6}
@media(min-width:768px){.services-overview{grid-template-columns:repeat(2,1fr)}}

/* ── Steps ── */
.steps{display:grid;grid-template-columns:1fr;gap:24px}
.step{text-align:center;padding:24px}
.step__icon{width:64px;height:64px;background:linear-gradient(135deg,var(--navy),var(--blue));color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 16px}
.step h3{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.step p{color:var(--gray-500);font-size:.9rem}
@media(min-width:768px){.steps{grid-template-columns:repeat(3,1fr)}}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-weight:600;font-size:.95rem;border:2px solid transparent;cursor:pointer;transition:all var(--transition);font-family:var(--font);text-decoration:none;line-height:1.4}
.btn--primary{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn--primary:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:var(--navy)}
.btn--outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.4)}
.btn--outline:hover{background:rgba(255,255,255,.1);border-color:var(--white)}
.btn--secondary{background:var(--gray-100);color:var(--navy);border-color:var(--gray-200)}
.btn--secondary:hover{background:var(--gray-200)}
.btn--danger{background:var(--danger);color:var(--white);border-color:var(--danger)}
.btn--lg{padding:14px 28px;font-size:1.05rem}
.btn--sm{padding:6px 14px;font-size:.8rem}
.btn--block{width:100%}
.btn--info{background:var(--info);color:var(--white);border-color:var(--info)}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* ── Sector Cards (home grid) ── */
.sectors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.sector-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px;text-align:center;color:var(--gray-900);transition:all var(--transition)}
.sector-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--gold);color:var(--navy)}
.sector-card__icon{font-size:1.75rem;color:var(--blue);margin-bottom:8px;transition:color var(--transition)}
.sector-card:hover .sector-card__icon{color:var(--gold)}
.sector-card h3{font-size:.95rem;font-weight:700;margin-bottom:4px}
.sector-card p{font-size:.8rem;color:var(--gray-500);line-height:1.5;display:none}
@media(min-width:768px){.sectors-grid{grid-template-columns:repeat(4,1fr)}.sector-card p{display:block}}

/* ── Sector Detail Cards (services page) ── */
.sectors-grid--large{gap:24px}
.sector-detail-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:28px;transition:all var(--transition)}
.sector-detail-card:hover{box-shadow:var(--shadow-lg);border-color:var(--gold)}
.sector-detail-card__icon{font-size:2rem;color:var(--gold);margin-bottom:12px}
.sector-detail-card h2{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.sector-detail-card p{color:var(--gray-500);font-size:.9rem;margin-bottom:16px}
.sector-detail-card__features{list-style:none;margin-bottom:16px}
.sector-detail-card__features li{padding:4px 0;color:var(--gray-700);font-size:.85rem}
.sector-detail-card__features li i{color:var(--success);margin-right:6px}
@media(min-width:768px){.sectors-grid--large{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.sectors-grid--large{grid-template-columns:repeat(3,1fr)}}

/* ── Country Chips & Regions ── */
.regions{display:grid;gap:32px}
.region__title{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--gray-200)}
.region__countries{display:flex;flex-wrap:wrap;gap:8px}
.country-chip{display:inline-flex;align-items:center;gap:6px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:50px;padding:6px 14px;font-size:.85rem;color:var(--gray-900);transition:all var(--transition)}
.country-chip:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.country-chip__flag{font-size:1.1rem}

/* ── Country Cards (countries page) ── */
.country-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.country-card{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:12px 16px;color:var(--gray-900);transition:all var(--transition)}
.country-card:hover{box-shadow:var(--shadow);border-color:var(--gold);background:var(--gray-50)}
.country-card__flag{font-size:1.5rem}
.country-card__name{font-weight:600;font-size:.9rem}
@media(min-width:768px){.country-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.country-grid{grid-template-columns:repeat(4,1fr)}}

/* ── Country Search ── */
.search-box{max-width:400px;margin:0 auto 32px;position:relative}
.search-box input{width:100%;padding:12px 16px 12px 40px;border:2px solid var(--gray-200);border-radius:50px;font-size:.95rem;transition:border-color var(--transition)}
.search-box input:focus{outline:none;border-color:var(--blue)}
.search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray-300)}

/* ── Forms ── */
.form{display:flex;flex-direction:column;gap:20px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-weight:600;font-size:.9rem;color:var(--navy);display:flex;align-items:center;gap:6px}
.form-group label i{color:var(--blue);width:16px}
.required{color:var(--danger)}
.form-group input,.form-group select,.form-group textarea{padding:12px 14px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:.95rem;font-family:var(--font);transition:border-color var(--transition);background:var(--white);width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue)}
.form-error{color:var(--danger);font-size:.8rem;display:none}
.form-hint{color:var(--gray-500);font-size:.8rem}
.form-message{padding:14px;border-radius:var(--radius);font-size:.9rem;margin-bottom:8px}
.form-message--success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.form-message--error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}

/* ── Custom Select (Country Picker) ── */
.custom-select{position:relative}
.custom-select__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:2px solid var(--gray-200);border-radius:var(--radius);background:var(--white);cursor:pointer;font-size:.95rem;font-family:var(--font);color:var(--gray-900);transition:border-color var(--transition)}
.custom-select__trigger:hover,.custom-select.open .custom-select__trigger{border-color:var(--blue)}
.custom-select__trigger .placeholder{color:var(--gray-300)}
.custom-select__dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border:2px solid var(--blue);border-top:none;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-lg);z-index:50;max-height:320px;overflow:hidden}
.custom-select.open .custom-select__dropdown{display:block}
.custom-select__search{padding:8px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:8px}
.custom-select__search i{color:var(--gray-300)}
.custom-select__search input{flex:1;border:none;padding:6px;font-size:.9rem;outline:none}
.custom-select__options{max-height:260px;overflow-y:auto}
.custom-select__group-label{padding:8px 14px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);background:var(--gray-50);position:sticky;top:0}
.custom-select__option{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;transition:background var(--transition)}
.custom-select__option:hover{background:var(--gray-50)}
.option-flag{font-size:1.2rem}
.option-name{font-size:.9rem}

/* ── Country Info Badge ── */
.country-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(46,204,113,.08);border:1px solid rgba(46,204,113,.3);border-radius:var(--radius);color:var(--success);font-size:.9rem}

/* ── Sector Select (Radio Cards) ── */
.sector-select{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.sector-radio{cursor:pointer}
.sector-radio input{display:none}
.sector-radio__card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border:2px solid var(--gray-200);border-radius:var(--radius);text-align:center;transition:all var(--transition);font-size:.8rem;font-weight:600;color:var(--gray-700)}
.sector-radio__card i{font-size:1.25rem;color:var(--blue)}
.sector-radio input:checked+.sector-radio__card{border-color:var(--gold);background:rgba(255,209,102,.08);color:var(--navy)}
.sector-radio input:checked+.sector-radio__card i{color:var(--gold)}
@media(min-width:768px){.sector-select{grid-template-columns:repeat(4,1fr)}}

/* ── FAQ ── */
.faq-grid{display:grid;grid-template-columns:1fr;gap:12px}
.faq-item{border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition)}
.faq-item:hover{border-color:var(--gray-300)}
.faq-item__question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--white);border:none;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--navy);font-family:var(--font);text-align:left;gap:12px}
.faq-item__question i{transition:transform var(--transition);flex-shrink:0;color:var(--gray-300)}
.faq-item__question[aria-expanded="true"] i{transform:rotate(180deg);color:var(--gold)}
.faq-item__answer{display:none;padding:0 20px 16px;color:var(--gray-700);font-size:.9rem;line-height:1.7}
.faq-item__answer.open{display:block}
@media(min-width:768px){.faq-grid{grid-template-columns:repeat(2,1fr)}}

/* ── Country Detail ── */
.country-hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:var(--white);padding:48px 0;text-align:center}
.country-hero__flag{font-size:4rem;margin-bottom:12px}
.country-sectors{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(min-width:768px){.country-sectors{grid-template-columns:repeat(4,1fr)}}
.related-countries{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}

/* ── Country-Sector Detail ── */
.detail-grid{display:grid;grid-template-columns:1fr;gap:32px}
.detail-main{order:2}
.detail-sidebar{order:1}
@media(min-width:768px){.detail-grid{grid-template-columns:2fr 1fr}.detail-main{order:1}.detail-sidebar{order:2}}
.sidebar-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px}
.sidebar-card h3{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:12px}
.feature-list{list-style:none}
.feature-list li{padding:8px 0;border-bottom:1px solid var(--gray-200);font-size:.9rem;display:flex;align-items:center;gap:8px}
.feature-list li:last-child{border-bottom:none}
.feature-list li i{color:var(--success);flex-shrink:0}

/* ── CTA Section ── */
.cta-section{background:linear-gradient(135deg,var(--navy),var(--navy-light));color:var(--white);padding:60px 0}
.cta-section h2{font-size:1.75rem;font-weight:800;margin-bottom:12px}
.cta-section p{color:rgba(255,255,255,.8);margin-bottom:24px;font-size:1.05rem}

/* ── Prose (Privacy/Terms) ── */
.prose{max-width:800px;margin:0 auto;padding:32px 16px}
.prose h2{font-size:1.4rem;font-weight:700;color:var(--navy);margin:32px 0 12px}
.prose p,.prose li{color:var(--gray-700);line-height:1.8;font-size:.95rem}
.prose ul{margin-left:20px;margin-bottom:16px}

/* ── Footer ── */
.footer{background:var(--navy);color:rgba(255,255,255,.8);padding:48px 0 24px}
.footer__grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px}
.footer__logo{display:flex;align-items:center;gap:8px;color:var(--white);font-size:1.25rem;font-weight:700;margin-bottom:12px}
.footer__logo i{color:var(--gold)}
.footer__logo strong{color:var(--gold)}
.footer__desc{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.6}
.footer__col h4{color:var(--gold);font-size:.9rem;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}
.footer__col a{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.7);padding:4px 0;font-size:.85rem;transition:color var(--transition)}
.footer__col a:hover{color:var(--gold)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:.8rem;color:rgba(255,255,255,.5)}
.footer__links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.footer__links a{color:rgba(255,255,255,.6);font-size:.8rem}
.footer__links a:hover{color:var(--gold)}
@media(min-width:768px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.footer__bottom{flex-direction:row;justify-content:space-between}}

/* ── 404 ── */
.error-page{text-align:center;padding:80px 16px}
.error-page h1{font-size:5rem;font-weight:800;color:var(--navy);margin-bottom:8px}
.error-page p{color:var(--gray-500);margin-bottom:24px}

/* ── Badges ── */
.badge{display:inline-block;padding:3px 10px;border-radius:50px;font-size:.75rem;font-weight:600}
.badge--pending{background:#fff3cd;color:#856404}
.badge--contacted{background:#cce5ff;color:#004085}
.badge--approved{background:#d4edda;color:#155724}
.badge--rejected{background:#f8d7da;color:#721c24}

/* ── Modal ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;align-items:center;justify-content:center;padding:16px}
.modal{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}
.modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200)}
.modal__header h3{font-size:1.1rem;font-weight:700;color:var(--navy)}
.modal__close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:4px 8px}
.modal__body{padding:20px}
.detail-table{width:100%;border-collapse:collapse}
.detail-table th,.detail-table td{padding:8px 12px;border-bottom:1px solid var(--gray-100);text-align:left;font-size:.9rem}
.detail-table th{font-weight:600;color:var(--navy);width:30%}

/* ── Responsive utilities ── */
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:767px){
  .hero__title{font-size:1.8rem}
  .section{padding:40px 0}
  .hero__actions{flex-direction:column}
  .hero__actions .btn{width:100%}
}
