 /* ---- Page Hero ---- */
 .page-hero {
   background:
     radial-gradient(900px 600px at 90% -10%, rgba(188,153,67,0.18), transparent 60%),
     radial-gradient(700px 500px at -5% 110%, rgba(231,2,23,0.10), transparent 60%),
     linear-gradient(135deg, #01215C 0%, #0a3a8c 100%);
   color: #fff;
   padding: 70px 0 80px;
   position: relative;
   overflow: hidden;
 }
 .page-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   background-image:
     linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
     linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
   background-size: 60px 60px;
   mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
   pointer-events: none;
 }
 .page-hero h1 { color: #fff; font-size: clamp(34px, 4.5vw, 52px); font-weight: 800; letter-spacing: -0.02em; }
 .page-hero .breadcrumb-item,
 .page-hero .breadcrumb-item a { color: rgba(255,255,255,0.7); text-decoration: none; font-size: 14px; }
 .page-hero .breadcrumb-item.active { color: var(--finpe-gold); }

 /* ---- Contact section ---- */
 .contact-section { padding: 80px 0; background: #fff; }

 /* Info cards */
 .contact-card {
   background: #fff;
   border: 1px solid rgba(1,33,92,0.09);
   border-radius: 22px;
   padding: 36px 32px;
   height: 100%;
   transition: all .3s ease;
   position: relative;
   overflow: hidden;
 }
 .contact-card::before {
   content: "";
   position: absolute;
   top: 0; left: 0; right: 0;
   height: 4px;
   background: var(--finpe-navy);
   border-radius: 22px 22px 0 0;
   transition: background .3s ease;
 }
 .contact-card.red::before  { background: var(--finpe-red); }
 .contact-card.gold::before { background: var(--finpe-gold); }
 .contact-card.navy2::before { background: var(--finpe-navy-2); }

 .contact-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 20px 40px rgba(1,33,92,0.11);
 }
 .contact-card .cc-icon {
   width: 64px; height: 64px; border-radius: 18px;
   display: inline-flex; align-items: center; justify-content: center;
   font-size: 26px; margin-bottom: 22px;
 }
 .contact-card.navy  .cc-icon { background: rgba(1,33,92,0.08);   color: var(--finpe-navy); }
 .contact-card.red   .cc-icon { background: rgba(231,2,23,0.08);   color: var(--finpe-red); }
 .contact-card.gold  .cc-icon { background: rgba(188,153,67,0.12); color: var(--finpe-gold); }
 .contact-card.navy2 .cc-icon { background: rgba(10,58,140,0.09);  color: var(--finpe-navy-2); }

 .contact-card h4 { font-size: 19px; margin-bottom: 16px; color: var(--finpe-navy); }
 .contact-card .cc-label {
   font-size: 11px; font-weight: 700; letter-spacing: 0.1em;
   text-transform: uppercase; color: var(--finpe-gold);
   margin-bottom: 4px;
 }
 .contact-card .cc-value {
   font-size: 16px; font-weight: 600; color: var(--finpe-navy);
   text-decoration: none; display: block; margin-bottom: 6px;
 }
 .contact-card .cc-value:hover { color: var(--finpe-red); }
 .contact-card .cc-sub {
   font-size: 13px; color: var(--finpe-text); line-height: 1.65;
 }
 .contact-card hr { border-color: rgba(1,33,92,0.08); margin: 18px 0; }

 /* Form section */
 .contact-form-section {
   background: var(--finpe-bg-soft);
   padding: 80px 0;
 }
 .form-card {
   background: #fff;
   border-radius: 24px;
   padding: 48px 44px;
   box-shadow: 0 8px 30px rgba(1,33,92,0.07);
 }
 .form-card .form-label {
   font-weight: 600; font-size: 14px; color: var(--finpe-navy); margin-bottom: 6px;
 }
 .form-card .form-control,
 .form-card .form-select {
   border: 1.5px solid rgba(1,33,92,0.14);
   border-radius: 12px;
   padding: 12px 16px;
   font-size: 15px;
   color: var(--finpe-navy);
   background: #fff;
   transition: border-color .2s ease, box-shadow .2s ease;
 }
 .form-card .form-control:focus,
 .form-card .form-select:focus {
   border-color: var(--finpe-navy);
   box-shadow: 0 0 0 3px rgba(1,33,92,0.08);
   outline: none;
 }
 .form-card textarea.form-control { resize: vertical; min-height: 130px; }

 /* Map embed placeholder */
 .map-wrap {
   border-radius: 22px;
   overflow: hidden;
   box-shadow: 0 8px 30px rgba(1,33,92,0.08);
   height: 100%;
   min-height: 380px;
 }
 .map-wrap iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }

 /* Social strip */
 .social-strip { padding: 56px 0; background: #fff; border-top: 1px solid rgba(1,33,92,0.07); }
 .social-icon-lg {
   width: 54px; height: 54px; border-radius: 50%;
   display: inline-flex; align-items: center; justify-content: center;
   font-size: 20px; background: var(--finpe-navy); color: #fff;
   text-decoration: none; transition: all .25s ease;
 }
 .social-icon-lg:hover { background: var(--finpe-red); color: #fff; transform: translateY(-3px); box-shadow: 0 8px 20px rgba(231,2,23,0.25); }

 @media (max-width: 767.98px) {
   .form-card { padding: 32px 22px; }
 }