﻿/* Extracted Style */
*,

*::before,

*::after {

  box-sizing: border-box;

  margin: 0;

  padding: 0;

}



:root {

  --red: #B22222;

  --red-dark: #8B0000;

  --red-light: #FDF2F2;

  --navy: #000080;

  --navy-mid: #162a55;

  --gold: #C5A059;

  --white: #FFFFFF;

  --off-white: #F9F8F6;

  --gray: #4B5563;

  --light-gray: #F3F4F6;

  --accent-soft: #D4AF37;

}



html {

  scroll-behavior: smooth;

}



body {

  font-family: 'DM Sans', sans-serif;

  background: var(--white);

  color: var(--navy);

  overflow-x: hidden;

}



/* -- NAV -- */

nav {

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  z-index: 100;

  background: var(--navy);

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 0 60px;

  height: 72px;

  border-bottom: 3px solid var(--red);

}



.nav-logo {

  font-family: 'Playfair Display', serif;

  font-weight: 900;

  font-size: 1.1rem;

  color: var(--white);

  text-decoration: none;

  letter-spacing: 1px;

}



.nav-logo span {

  color: var(--gold);

}



.nav-links {

  display: flex;

  gap: 36px;

  list-style: none;

}



.nav-links a {

  color: rgba(255, 255, 255, 0.75);

  text-decoration: none;

  font-size: 0.88rem;

  font-weight: 500;
  letter-spacing: 0.5px;

  transition: color 0.2s;

}



.nav-links a:hover {

  color: var(--gold);

}



.nav-cta {

  background: var(--red);

  color: var(--white);

  text-decoration: none;

  padding: 10px 24px;

  font-size: 0.85rem;

  font-weight: 600;

  letter-spacing: 0.5px;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  height: 46px !important;
  padding: 0 24px !important;
  white-space: nowrap !important;
  border: 2px solid var(--red) !important;
  transition: all 0.25s;
}



.nav-cta:hover {

  background: transparent;

  color: var(--red);

}



/* -- HERO -- */

.nav-cta svg {
  display: block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

.nav-cta span {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.hero {

  padding-top: 72px;

  min-height: 100vh;

  display: grid;

  grid-template-columns: 1fr 1fr;

  overflow: hidden;

}



.hero-left {

  background: var(--navy);

  padding: 100px 60px 80px;

  display: flex;

  flex-direction: column;

  justify-content: center;

  position: relative;

}



.hero-badge {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  background: rgba(197, 160, 89, 0.1);

  border: 1px solid rgba(197, 160, 89, 0.4);

  color: var(--gold);

  padding: 6px 16px;

  font-size: 0.78rem;

  font-weight: 600;

  letter-spacing: 1.5px;

  text-transform: uppercase;

  width: fit-content;

  margin-bottom: 32px;

  animation: fadeUp 0.6s ease both;

}



.hero-badge::before {

  content: '?';

  color: var(--red);

  font-size: 8px;

}



.hero-title {

  font-family: 'Playfair Display', serif;

  font-size: clamp(2.8rem, 4vw, 4.2rem);

  line-height: 1.1;

  color: var(--white);

  margin-bottom: 24px;

  animation: fadeUp 0.6s 0.1s ease both;

}



.hero-title em {

  color: var(--red);

  font-style: italic;

}



.hero-title .gold {

  color: var(--gold);

  font-style: normal;

}



.hero-sub {

  color: rgba(255, 255, 255, 0.65);

  font-size: 1rem;

  line-height: 1.7;

  max-width: 440px;

  margin-bottom: 44px;

  animation: fadeUp 0.6s 0.2s ease both;

  font-weight: 300;

}



.hero-btns {

  display: flex;

  gap: 16px;

  animation: fadeUp 0.6s 0.3s ease both;

}



.btn-primary-red {

  background: var(--red);

  color: var(--white);

  padding: 14px 32px;

  text-decoration: none;

  font-size: 0.9rem;

  font-weight: 600;

  letter-spacing: 0.5px;

  border: 2px solid var(--red);

  transition: all 0.25s;

  display: inline-block;

}



.btn-primary-red:hover {

  background: var(--red-dark);

  border-color: var(--red-dark);

}



.btn-outline-white {

  border: 2px solid rgba(255, 255, 255, 0.3);

  color: var(--white);

  padding: 14px 32px;

  text-decoration: none;

  font-size: 0.9rem;

  font-weight: 600;

  transition: all 0.25s;

  display: inline-block;

}



.btn-outline-white:hover {

  border-color: var(--white);

  background: rgba(255, 255, 255, 0.05);

}



.hero-right {

  background: var(--off-white);

  padding: 80px 60px 80px 100px;

  display: flex;

  flex-direction: column;

  justify-content: center;

  position: relative;

  animation: fadeUp 0.6s 0.4s ease both;

}



.hero-right-title {

  font-family: 'Playfair Display', serif;

  font-size: 1.1rem;

  color: var(--red);

  margin-bottom: 32px;

  font-weight: 700;

  letter-spacing: 0.5px;

}



.hero-form {

  display: flex;

  flex-direction: column;

  gap: 16px;

}


.form-group {

  display: flex;

  flex-direction: column;

  gap: 6px;

}



.form-group label {

  font-size: 0.78rem;

  font-weight: 600;

  color: var(--gray);

  letter-spacing: 0.5px;

  text-transform: uppercase;

}



.form-group input,

.form-group select {

  border: 1.5px solid #DDD;

  padding: 12px 16px;

  font-size: 0.9rem;

  font-family: 'DM Sans', sans-serif;

  outline: none;

  transition: border-color 0.2s;

  background: white;

  color: var(--navy);

}



.form-group input:focus,

.form-group select:focus {

  border-color: var(--red);

}



.form-submit {

  background: var(--navy);

  color: var(--white);

  border: none;

  padding: 15px;

  font-size: 0.95rem;

  font-weight: 600;

  font-family: 'DM Sans', sans-serif;

  cursor: pointer;

  letter-spacing: 0.5px;

  transition: all 0.25s;

  margin-top: 4px;

}



.form-submit:hover {

  background: var(--red);

}



.form-note {

  font-size: 0.75rem;

  color: var(--gray);

  text-align: center;

}



/* Stats bar */

.stats-bar {

  background: var(--red);

  display: grid;

  grid-template-columns: repeat(4, 1fr);

}



.stat-item {

  padding: 32px 20px;

  text-align: center;

  border-right: 1px solid rgba(255, 255, 255, 0.2);

}



.stat-item:last-child {

  border-right: none;

}



.stat-num {

  font-family: 'Playfair Display', serif;

  font-size: 2.4rem;

  color: var(--white);

  font-weight: 900;

}



.stat-lbl {

  font-size: 0.78rem;

  color: rgba(255, 255, 255, 0.8);

  font-weight: 500;

  letter-spacing: 0.5px;

  margin-top: 4px;

}



/* -- SECTIONS -- */

.section {

  padding: 100px 0;

}



.container {

  max-width: 1200px;

  margin: 0 auto;

  padding: 0 60px;

}



.section-tag {

  display: inline-block;

  font-size: 0.72rem;

  font-weight: 700;

  letter-spacing: 2px;

  text-transform: uppercase;

  color: var(--red);

  margin-bottom: 12px;

}



.section-tag::before {

  content: '- ';

}



.section-title {

  font-family: 'Playfair Display', serif;

  font-size: clamp(2rem, 3vw, 2.8rem);

  line-height: 1.2;

  color: var(--navy);

  margin-bottom: 16px;

}



.section-desc {

  font-size: 1rem;

  color: var(--gray);

  line-height: 1.7;

  max-width: 520px;

  font-weight: 300;

}



/* -- SERVICES -- */

.services-bg {

  background: var(--off-white);

}



.services-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 2px;

  margin-top: 60px;

}



.service-card {

  background: white;

  padding: 48px 36px;

  border-top: 4px solid transparent;

  transition: all 0.3s;

  position: relative;

}



.service-card:hover {

  border-top-color: var(--red);

  transform: translateY(-4px);

  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);

}



.svc-icon {

  width: 56px;

  height: 56px;

  background: var(--red-light);

  display: flex;

  align-items: center;

  justify-content: center;

  margin-bottom: 24px;

  font-size: 1.6rem;

}



.svc-num {

  position: absolute;

  top: 24px;

  right: 28px;

  font-family: 'Playfair Display', serif;

  font-size: 3rem;

  color: rgba(200, 16, 46, 0.08);

  font-weight: 900;

  line-height: 1;

}



.svc-title {

  font-family: 'Playfair Display', serif;

  font-size: 1.3rem;

  margin-bottom: 14px;

  color: var(--navy);

}



.svc-desc {

  font-size: 0.9rem;

  color: var(--gray);

  line-height: 1.7;

  font-weight: 300;

}



/* -- WHY CHOOSE -- */

.why-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 80px;

  align-items: center;

}



.why-visual {

  position: relative;

}



.why-big-card {

  background: var(--navy);

  color: white;

  padding: 60px 48px;

  position: relative;

  overflow: hidden;

}



.standalone-photo {

  width: 100%;

  max-width: 440px;

  height: auto;

  border: 8px solid white;

  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);

  margin-bottom: 24px;

  position: relative;

  z-index: 10;

  display: block;

}



.why-big-card::before {

  content: '';

  position: absolute;

  bottom: -40px;

  right: -40px;

  width: 200px;

  height: 200px;

  background: var(--red);

  border-radius: 50%;

  opacity: 0.15;

}



.why-big-card::after {

  content: '';

  position: absolute;

  top: -20px;

  left: -20px;

  width: 100px;

  height: 100px;

  background: var(--gold);

  border-radius: 50%;

  opacity: 0.1;

}



.why-accent {

  font-size: 4rem;

  font-weight: 900;

  color: var(--gold);

  font-family: 'Playfair Display', serif;

  line-height: 1;

}



.why-accent-label {

  font-size: 0.85rem;

  color: rgba(255, 255, 255, 0.6);

  margin-top: 4px;

  letter-spacing: 0.5px;

}



.why-card-text {

  font-size: 1rem;

  line-height: 1.7;

  color: rgba(255, 255, 255, 0.8);

  margin-top: 32px;

  font-weight: 300;

}



.float-badge {

  position: absolute;

  top: -20px;

  right: -20px;

  background: var(--red);

  color: white;

  padding: 16px 20px;

  text-align: center;

}



.float-badge-num {

  font-family: 'Playfair Display', serif;

  font-size: 1.8rem;

  font-weight: 900;

}



.float-badge-txt {

  font-size: 0.7rem;

  font-weight: 600;

  letter-spacing: 0.5px;

  opacity: 0.9;

}



.benefit-list {

  list-style: none;

  margin-top: 40px;

  display: flex;

  flex-direction: column;

  gap: 20px;

}



.benefit-list li {

  display: flex;

  gap: 16px;

  align-items: flex-start;

}



.benefit-icon {

  min-width: 36px;

  height: 36px;

  background: var(--red-light);

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--red);

  font-size: 1rem;

  margin-top: 2px;

}



.benefit-text h4 {

  font-size: 0.95rem;

  font-weight: 600;

  margin-bottom: 4px;

  color: var(--navy);

}



.benefit-text p {

  font-size: 0.85rem;

  color: var(--gray);

  line-height: 1.6;

  font-weight: 300;

}



/* -- REASONS -- */

.reasons-bg {
  background: var(--navy);
}



.reasons-header {

  display: flex;

  justify-content: space-between;

  align-items: flex-end;

  margin-bottom: 60px;

}



.reasons-title {
  font-family: 'Playfair Display', serif;
  font-size: 2.4rem;
  color: var(--white);
}



.reasons-sub {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.9rem;
  font-weight: 300;
  max-width: 300px;
  text-align: right;
}



.reasons-grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 2px;

}



.reason-card {
  background: white;
  padding: 36px 28px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-top: 3px solid transparent;
}



.reason-card:hover {
  background: white;
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  border-top-color: var(--red);
}



.reason-icon {

  font-size: 1.8rem;

}



.reason-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--navy);
}



/* -- PROCESS -- */

.process-grid {

  display: grid;

  grid-template-columns: repeat(5, 1fr);

  gap: 0;

  margin-top: 60px;

  position: relative;

}



.process-grid::before {

  content: '';

  position: absolute;

  top: 32px;

  left: 10%;

  right: 10%;

  height: 2px;

  background: linear-gradient(90deg, var(--red), var(--navy));

  z-index: 0;

}



.step-card {

  text-align: center;

  padding: 0 16px;

  position: relative;

  z-index: 1;

}



.step-circle {

  width: 64px;

  height: 64px;

  background: var(--red);

  color: white;

  border-radius: 50%;

  margin: 0 auto 20px;

  display: flex;

  align-items: center;

  justify-content: center;

  font-family: 'Playfair Display', serif;

  font-size: 1.3rem;

  font-weight: 900;

  border: 4px solid white;

  box-shadow: 0 0 0 3px var(--red);

  transition: all 0.3s;

}



.step-card:hover .step-circle {

  background: var(--navy);

  box-shadow: 0 0 0 3px var(--navy);

  transform: scale(1.1);

}



.step-title {

  font-size: 0.9rem;

  font-weight: 700;

  color: var(--navy);

  margin-bottom: 8px;

}



.step-desc {

  font-size: 0.8rem;

  color: var(--gray);

  line-height: 1.6;

  font-weight: 300;

}



/* -- FAQ -- */

.faq-bg {

  background: var(--off-white);

}



.faq-layout {

  display: grid;

  grid-template-columns: 1fr 2fr;

  gap: 80px;

  align-items: start;

}



.faq-sidebar-quote {

  background: var(--red);

  padding: 40px 36px;

  color: white;

  margin-top: 40px;

}



.faq-sidebar-quote p {

  font-family: 'Playfair Display', serif;

  font-size: 1.1rem;

  line-height: 1.6;

  font-style: italic;

}



.faq-sidebar-quote cite {

  display: block;

  font-size: 0.75rem;

  margin-top: 16px;

  opacity: 0.7;

  font-style: normal;

  font-weight: 600;

  letter-spacing: 0.5px;

}



.faq-item {

  background: white;

  margin-bottom: 2px;

  border-left: 4px solid transparent;

  transition: border-color 0.2s;

}



.faq-item[open] {

  border-left-color: var(--red);

}



.faq-item summary {

  padding: 22px 24px;

  font-size: 0.95rem;

  font-weight: 600;

  cursor: pointer;

  list-style: none;

  display: flex;

  justify-content: space-between;

  align-items: center;

  user-select: none;

}



.faq-item summary::-webkit-details-marker {

  display: none;

}



.faq-item summary::after {

  content: '+';

  font-size: 1.4rem;

  color: var(--red);

  transition: transform 0.3s;

  flex-shrink: 0;

}



.faq-item[open] summary::after {

  transform: rotate(45deg);

}



.faq-item .faq-body {

  padding: 0 24px 22px;

  font-size: 0.9rem;

  color: var(--gray);

  line-height: 1.7;

  font-weight: 300;

}



/* -- CONTACT STRIP -- */

.cta-strip {

  background: var(--red);

  padding: 80px 0;

}



.cta-inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 40px;

}



.cta-text h2 {

  font-family: 'Playfair Display', serif;

  font-size: 2.4rem;

  color: white;

  margin-bottom: 8px;

}



.cta-text p {

  color: rgba(255, 255, 255, 0.8);

  font-size: 1rem;

  font-weight: 300;

}



.cta-actions {

  display: flex;

  gap: 16px;

  flex-shrink: 0;

}



.btn-white {

  background: white;

  color: var(--red);

  padding: 15px 36px;

  text-decoration: none;

  font-weight: 700;

  font-size: 0.9rem;

  border: 2px solid white;

  transition: all 0.25s;

}



.btn-white:hover {

  background: transparent;

  color: white;

}



.btn-outline-w {

  border: 2px solid rgba(255, 255, 255, 0.5);

  color: white;

  padding: 15px 36px;

  text-decoration: none;

  font-weight: 600;

  font-size: 0.9rem;

  transition: all 0.25s;

}



.btn-outline-w:hover {

  border-color: white;

  background: rgba(255, 255, 255, 0.1);

}



/* -- FOOTER -- */

footer {

  background: var(--navy);

  padding: 80px 0 40px;

}



.footer-grid {

  display: grid;

  grid-template-columns: 2fr 1fr 1fr 1fr;

  gap: 60px;

  margin-bottom: 60px;

}



.footer-brand {

  font-family: 'Playfair Display', serif;

  font-size: 1.1rem;

  color: white;

  font-weight: 900;

  margin-bottom: 20px;

}



.footer-brand span {

  color: var(--gold);

}



.footer-tagline {

  color: rgba(255, 255, 255, 0.5);

  font-size: 0.85rem;

  line-height: 1.7;

  font-weight: 300;

}



.footer-heading {

  color: rgba(255, 255, 255, 0.4);

  font-size: 0.7rem;

  letter-spacing: 2px;

  text-transform: uppercase;

  font-weight: 700;

  margin-bottom: 20px;

}



.footer-links {

  list-style: none;

  display: flex;

  flex-direction: column;

  gap: 10px;

}



.footer-links a {

  color: rgba(255, 255, 255, 0.6);

  text-decoration: none;

  font-size: 0.88rem;

  transition: color 0.2s;

}



.footer-links a:hover {

  color: var(--gold);

}



.footer-contact-item {

  display: flex;

  gap: 10px;

  align-items: flex-start;

  color: rgba(255, 255, 255, 0.6);

  font-size: 0.85rem;

  margin-bottom: 12px;

  line-height: 1.5;

}



.footer-contact-item span:first-child {

  color: var(--red);

  flex-shrink: 0;

  margin-top: 1px;

}



.footer-bottom {

  border-top: 1px solid rgba(255, 255, 255, 0.1);

  padding-top: 32px;

  display: flex;

  justify-content: space-between;

  align-items: center;

  color: rgba(255, 255, 255, 0.3);

  font-size: 0.78rem;

}



.footer-bottom a {

  color: var(--gold);

  text-decoration: none;

}



/* -- ANIMATIONS -- */

@keyframes fadeUp {

  from {

    opacity: 0;

    transform: translateY(30px);

  }



  to {

    opacity: 1;

    transform: translateY(0);

  }

}



.reveal {

  opacity: 0;

  transform: translateY(40px);

  transition: all 0.7s ease;

}



.reveal.in {

  opacity: 1;

  transform: translateY(0);

}



/* -- TRUST BAR -- */

.trust-bar {

  background: white;

  border-top: 1px solid #EEE;

  border-bottom: 1px solid #EEE;

  padding: 20px 0;

}



.trust-items {

  display: flex;

  justify-content: center;

  gap: 60px;

  align-items: center;

  flex-wrap: wrap;

}



.trust-item {

  display: flex;

  align-items: center;

  gap: 8px;

  font-size: 0.82rem;

  font-weight: 600;

  color: var(--navy);

}



.trust-dot {

  width: 8px;

  height: 8px;

  background: var(--red);

  border-radius: 50%;

  flex-shrink: 0;

}



/* Mobile */

@media (max-width: 900px) {

  nav {

    padding: 0 24px;

  }



  .nav-links {

    display: none;

  }



  .hero {

    grid-template-columns: 1fr;

  }



  .hero-left {

    padding: 60px 24px;

  }



  .hero-left::after {

    display: none;

  }



  .hero-right {

    padding: 60px 24px;

  }



  .stats-bar {

    grid-template-columns: repeat(2, 1fr);

  }



  .services-grid {

    grid-template-columns: 1fr;

  }



  .why-grid {

    grid-template-columns: 1fr;

  }



  .reasons-grid {

    grid-template-columns: repeat(2, 1fr);

  }



  .process-grid {

    grid-template-columns: 1fr;

    gap: 32px;

  }



  .process-grid::before {

    display: none;

  }



  .faq-layout {

    grid-template-columns: 1fr;

    gap: 40px;

  }



  .footer-grid {

    grid-template-columns: 1fr 1fr;

  }



  .cta-inner {

    flex-direction: column;

    text-align: center;

  }



  .container {

    padding: 0 24px;

  }



  .reasons-header {

    flex-direction: column;

    align-items: flex-start;

    gap: 12px;

  }



  .reasons-sub {

    text-align: left;

  }

}

.bg-success {
  background-color: #2D6A4F !important;
}