/* =====================================================================
   Gerard Maye Legal – Main Stylesheet
   
   ===================================================================== */


  :root{
    --navy:#07213c;
    --accent-blue:#0252a5;
    --sky-blue:#49b0ca;
    --teal:#40acab;
    --grey-bg:#f7f7f7;
    --text-body:#4b5563;
	--menu-link:#323f66;
	--blue:#0252A5;
	--heading:#323F66;
	 --gray-bg:#F7F7F7;
	 --text-muted:#5D6672;
    --white:#ffffff;
    --radius:2px;
	--card-bg:     #F5F6F7;
     --border:      #d7dbe0;
	 --navy-text:   #071F33;
  }

   

  body{
    font-family:'Source Sans 3', sans-serif;
    color:var(--text-body);
  }

  h1,h2,h3,h4, .serif{
    font-family:'Playfair Display', serif;
  }

  a{ text-decoration:none; }

  .bg-navy{background-color:var(--navy) !important;}
  .bg-blue{background-color:var(--blue) !important;}
  .bg-teal{background-color:var(--teal) !important;}
  .bg-teal-dark{background-color:var(--teal-dark) !important;}
  .bg-gray{background-color:var(--gray-bg) !important;}
  .text-blue{color:var(--blue) !important;}
  .text-muted-custom{color:var(--text-muted) !important;}
  .rounded-0{border-radius:0 !important;}
  
  .btn-white-navy{
    background:#fff;color:var(--navy);
    display:inline-flex;align-items:center;gap:10px;
    font-weight:600;font-size:.875rem;padding:.7rem 1.4rem;
  }
  .btn-white-navy:hover{background:#f1f1f1;color:var(--navy);}
  .btn-outline-light-custom{
    border:1px solid rgba(255,255,255,.5);color:#fff;
    display:inline-flex;align-items:center;gap:10px;
    font-weight:600;font-size:.875rem;padding:.65rem 1.3rem;
  }
  .btn-outline-light-custom:hover{background:rgba(255,255,255,.1);color:#fff;}
  .icon-circle-sm{
    width:30px;height:30px;border-radius:50%;
    background:rgba(0,0,0,.08);
    display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .btn-outline-light-custom .icon-circle-sm{background:rgba(255,255,255,.2);}

  /* ---------- Top utility bar ---------- */
  .top-bar{
    background:var(--navy);
    color:#fff;
    font-size:1rem;
    padding:.55rem 0;
  }
  .top-bar a{ color:#fff; }
  .top-bar .tagline{ font-style:italic;  }
  .top-bar a .bi-telephone-fill{
    background: #fff;
    color: var(--navy);
    width: 16px;
    display: inline-block;
    height: 16px;
    border-radius: 50%;
    text-align: center;
    font-size: 9px;
    padding-top: 3px;
}

  /* ---------- Main nav ---------- */
  .navbar-brand-text{
    font-family:'Playfair Display', serif;
    font-size:2rem;
    font-weight:600;
    color:var(--navy);
    line-height:1;
  }
  .navbar-brand-text .divider{
    display:inline-block;
    width:1px; height:28px;
    background:#c7c7c7;
    margin:0 .6rem;
    vertical-align:middle;
  }
  .navbar-brand-text .legal-word{ color:var(--accent-blue); }
  .navbar-brand img{max-width:80%;width:300px}
  .main-nav .nav-link{
    color:var(--menu-link);
    font-weight:400;
    font-size:1rem;
    padding:.5rem .8rem !important;
  }
  .main-nav .nav-sep{
    color:#c7c7c7;
    align-self:center;
  }
  .btn-navy{
    background:var(--accent-blue);
    color:#fff;
    font-weight:600;
    padding:.55rem 1.4rem;
    border-radius:2px;
    white-space:nowrap;
  }
  .btn-navy:hover{ background:var(--navy); color:#fff; }

  .accent-stripe{ height:8px; background:var(--accent-blue); }

  /* ---------- Hero ---------- */
  .hero{ background:var(--navy); }
  .hero img{ width:100%; height:100%; object-fit:cover; display:block; }
  .hero-text h2{
    color:#fff;
    font-weight:500;
    font-size:1.9rem;
    line-height:1.35;
  }
  .hero-text p{
    color:#fff;
    font-weight:500;
    font-size:1.9rem;
    line-height:1.35;
    font-family:'Playfair Display', serif;
    margin-top:1.5rem;
  }

  /* ---------- Section headings ---------- */
  .section-heading{
    text-align:center;
    font-size:2rem;
    color:var(--navy);
    font-weight:500;
  }
  .section-heading .highlight{ color:var(--accent-blue); font-weight:700; }

  /* ---------- Service cards ---------- */
  .service-card{
    background:var(--grey-bg);
    border-bottom:6px solid var(--accent-blue);
    border-radius:6px 6px 4px 4px;
    padding:2.2rem 1.6rem 1.6rem;
    height:100%;
    text-align:center;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .service-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(7,33,60,.12);
  }
  .service-card h3{
    color:var(--navy);
    font-size:1.4rem;
    font-weight:500;
    margin-bottom:1rem;
  }
  .service-card p{ font-size:.92rem; }
  .learn-more{
    color:var(--navy);
    font-weight:600;
    font-style:italic;
    font-size:.92rem;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    margin-top:.8rem;
  }
  .learn-more i{ color:var(--navy); }

  /* ---------- Testimonial / stats section ---------- */
  .two_columns_one_side_text_other_side_image{
    position:relative;
    padding:2rem 0;
  }
  .two_columns_one_side_text_other_side_image .textarea{
	background:var(--accent-blue);
	align-content: center;
  }
  .two_columns_one_side_text_other_side_image .overlay{
    position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(7,33,60,.96) 0%, rgba(7,33,60,.88) 38%, rgba(7,33,60,.15) 62%, rgba(7,33,60,0) 100%);
  }
  .two_columns_one_side_text_other_side_image .content{ position:relative; z-index:1; }
  .two_columns_one_side_text_other_side_image h3{
    color:#fff;
    font-weight:500;
    font-size:1.85rem;
    line-height:1.4;
  }
  .thumb-card{
    position:relative;
    border-radius:4px;
    overflow:hidden;
    display:block;
  }
  .thumb-card img{ width:100%; display:block; }
  
  /* ---------- Early intervention banner ---------- */
  .banner-strip{
     padding:2rem 0;
  }
  .banner-strip .container{
    background:var(--navy);
    padding:2.4rem 0;
  }
  .banner-strip h3{
    color:#fff; font-weight:500; font-size:1.9rem;
  }
  .banner-strip p{ color:#e5e9ee; margin-bottom:0; }
  .btn-white-outline{
    background:#fff;
    color:var(--navy);
    font-style:italic;
    font-weight:600;
    padding:.7rem 1.6rem;
    border-radius:2px;
    white-space:nowrap;
	float:right;
  }
  .btn-white-outline:hover{ background:var(--grey-bg); color:var(--navy); }

  /* ---------- Highlight cards (Support & Advice / Court Procedure) ---------- */
  .highlight-card{
    padding:2.6rem 2.2rem;
    color:#fff;
    text-align:center;
    height:100%;
	border-bottom:10px solid var(--navy);
	border-radius:10px;
  }
  .highlight-card.blue{ background:var(--sky-blue); }
  .highlight-card.teal{ background:var(--teal); }
  .highlight-card h3{ font-weight:500; margin-bottom:1rem; }
  .highlight-card .learn-more{ color:#fff; }
  .highlight-card .learn-more i{ color:#fff; }

  /* ---------- Recent cases ---------- */
  .cases-section{ background:var(--grey-bg); padding:5rem;margin:4rem 0 }
  .case-card{
    background:#fff;
    border-bottom:6px solid var(--accent-blue);
    border-radius:6px 6px 4px 4px;
    padding:2.5rem 2rem;
    max-width:820px;
    margin:0 auto;
    text-align:center;
  }
  .case-card h4{ color:var(--navy); font-weight:700; font-size:1.15rem; }
  .case-nav-btn{
    width:46px; height:46px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:none;
  }
  .case-nav-btn:hover{ background:var(--accent-blue); color:#fff; }

  /* ---------- Our approach ---------- */
  .approach-section{ padding:5rem 0; }
  .approach-section h2{ color:var(--navy); font-weight:500; }
  .contact-box{
    background:var(--navy);
    color:#fff;
    padding:2.4rem;
    border-radius:6px;
    height:100%;
  }
  .contact-box h3{ font-weight:500; margin-bottom:1.4rem; }
  .contact-box .row-item{ display:flex; gap:.8rem; margin-bottom:.7rem; align-items:flex-start; }
  .contact-box .row-item i{ margin-top:.2rem; }
  .contact-box strong{ font-weight:700; }

  /* ===== Hero band ===== */
  .hero-band{
    background:var(--navy);
    padding:56px 0;
  }
  .hero-band h1{
    color:#fff;
    font-size:40px;
    font-weight:600;
  }
  .accent-strip{height:6px;background:var(--blue);}
  .breadcrumb{
    background:#fff;
    padding:14px 0;
    font-size:14px;
  }
  .breadcrumb a{color:var(--blue);font-weight:500;}
  .breadcrumb span{color:#9aa2ad;margin:0 6px;}

   /* CTA banner */
  .cta-banner h3{color:#fff;font-size:1.6rem;}
  .cta-banner p{color:rgba(255,255,255,.85);font-size:.875rem;}


  /* ---------- Accreditation strip ---------- */
  .accred-strip{
    border-top:4px solid var(--accent-blue);
    border-bottom:10px solid var(--accent-blue);
    padding:2.2rem 0;
  }
  .accred-strip img{  width:100%;height:auto }
  
  /* ===== Intro section ===== */
  .intro{
    padding:80px 0;
  }
  .intro .container{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:64px;
    align-items:start;
  }
  .intro .eyebrow{
    font-size:14px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--blue);
    font-weight:600;
    margin-bottom:10px;
  }
  .intro h2{font-size:34px;margin-bottom:22px;}
  .intro p{
    color:var(--text-muted);
    font-size:15px;
    margin:0 0 18px;
  }
  .intro .portrait{
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:0 24px 48px -20px rgba(7,33,60,.35);
  }

  .two-column-section{
	 margin-top:2rem;
	 margin-bottom:2rem;
  }

  /* feature icon circles */
  .icon-badge{
    width:80%;height:auto;
	border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 30px;
  }
  .feature-title{
    font-weight:600;font-size:1rem;color:var(--text-muted);letter-spacing:.02em;
  }
  
   /* FAQ accordion */
  .accordion-button{
    background:var(--blue) !important;color:#fff !important;font-weight:500;
    border-radius:0 !important;
  }
  .accordion-button:not(.collapsed){background:var(--blue) !important;color:#fff !important;box-shadow:none;}
  .accordion-button::after{filter:invert(1) brightness(2);}
  .accordion-item{border:none;margin-bottom:1rem;border-radius:0;}
  .accordion-body{background:var(--gray-bg);color:var(--blue);font-size:1rem;line-height:1.8;}

  /* content boxes */
  .cb{padding:3rem 2.2rem;color:#fff;}
  .cb h3{color:#fff;font-size:1.25rem;}
  .cb p{font-size:.85rem;color:rgba(255,255,255,.9);}

  /* ---------- Office cards ---------- */
	.office-card{
	  background: var(--card-bg);
	  border: 1px solid var(--border);
	  padding: 2rem;
	  height: 100%;
	}
	.office-card h2{ font-size: 1.6rem; text-align:center; margin-bottom: 1.5rem;}
	.office-card .icon-line{ color: var(--navy); margin-right:.6rem; }
	.office-card img.map{ width:100%; border:1px solid var(--border); margin-top:1.2rem; }
	.office-card .linkedin-badge{
	  background: var(--navy-text);
	  color:#fff;
	  width: 34px; height:34px;
	  display:inline-flex; align-items:center; justify-content:center;
	  border-radius:3px;
	}

  .map-responsive {
		overflow: hidden;
		padding-bottom: 56.25%; /* Keeps a 16:9 aspect ratio scaling constraint */
		position: relative;
		height: 0;
		width: 100%;
		margin:30px 0;
	}

	.map-responsive iframe {
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
		position: absolute;
	}

	.btn-brand:hover{ background: var(--blue-dark); border-color: var(--blue-dark); color:#fff; }
	.btn-outline-brand{
	  background: #fff;
	  border: 1px solid var(--border);
	  color: var(--navy-text);
	  font-weight: 700;
	  border-radius: 3px;
	}
	.btn-outline-brand:hover{ border-color: var(--blue); color: var(--blue); }

	/* ---------- Testimonial cards ---------- */
	.testimonial-card{
	  background: var(--card-bg);
	  border: 1px solid var(--border);
	  padding: 1.8rem;
	  height: 100%;
	}
	.testimonial-card h3{ font-size:1.25rem; margin:0; }
	.testimonial-card .quote-icon{
	  background: var(--navy);
	  color:#fff;
	  width:46px; height:46px; border-radius:50%;
	  display:inline-flex; align-items:center; justify-content:center;
	  font-size:1.3rem;
	}
	.testimonial-card .stars{ color:#f4b400; margin: .8rem 0; }
	.testimonial-card p{ color: var(--text-muted); line-height:1.7; }
	.testimonial-card hr{ border-color: var(--blue); opacity:1; width:70%; margin:1.2rem auto; }
	.testimonial-card .attribution{ text-align:center; font-weight:600; color: var(--navy-text); }


  /* ---------- Teal panel (contact form / CTA) ---------- */
	.teal-panel{
	  background: #49b0ca;
	  color: #fff;
	  padding: 2.5rem;
	  border-bottom:10px solid #07213c;
	}
	.teal-panel h2{ color: #fff; }
	.teal-panel .form-control{
	  border-radius: 3px;
	  border: none;
	  padding: .8rem 1rem;
	  margin-bottom: 1rem;
	}
	.teal-panel .form-select{
	  border-radius: 3px;
	  border: none;
	  padding: .8rem 1rem;
	  margin-bottom: 1rem;
	}
	.teal-panel-strip{ height: 14px; background: var(--navy); }

	/* ---------- Generic content card ---------- */
	.content-card{
	  background: var(--card-bg);
	  border: 1px solid var(--border);
	  padding: 2.5rem;
	}

	/* ---------- Our People page ---------- */
	.profile-photo{ width:100%; border:1px solid var(--border); }
	.social-row a{ color: var(--navy-text); font-weight:700; font-size:.9rem; margin-right:1.6rem; }
	.social-row i{ margin-right:.4rem; }
	.bio-text p{ color: var(--navy-text); line-height:1.7; }

	.quote-card{
	  background: var(--teal);
	  color:#fff;
	  padding:1.8rem;
	}
	.quote-card h3{ font-size:1.3rem; color:#fff; margin:0; }
	.quote-card .quote-icon{
	  font-size:1.6rem; background:#fff; color:var(--teal-dark);
	  width:44px; height:44px; border-radius:50%;
	  display:inline-flex; align-items:center; justify-content:center;
	}
	.quote-card p{ font-size:.95rem; line-height:1.7; }
	.quote-card hr{ border-color: rgba(255,255,255,.5); width:60%; margin:1.2rem auto; }

	.award-box{
	  border: 1px solid var(--border);
	  display:flex; align-items:center; justify-content:center;
	  color: var(--text-muted);
	  font-weight:700;
	  letter-spacing:.05em;
	  border-radius:10px;
	}

	.award-box img{width:100%;}


  /* ---------- Footer ---------- */
  footer{ background:var(--navy); color:#ffffff; padding-top:3.5rem; }
  footer h5{ color:#fff; font-weight:700; font-size:1rem; margin-bottom:1.2rem; }
  footer a{ color:#ffffff; }
  footer a:hover{ color:#c7d0da; }
  footer .footer-logo{ filter:brightness(0) invert(1); height:42px; margin-bottom:1.2rem; }
  footer .list-unstyled li{ margin-bottom:.65rem; }
  footer .list-unstyled i{ color:#ffffff; margin-right:.5rem; }
  .footer-bottom{
    margin-top:2.5rem;
    padding:1.2rem 0;
    font-size:.82rem;
  }
  .footer-copyright{
    border-top:1px solid rgba(255,255,255,.5);
    padding:1rem 0;
    font-size:.78rem;
    color:#ffffff;
  }

  @media (max-width: 991.98px){
    .hero-text h2, .hero-text p{ font-size:1.3rem; }
    .two_columns_one_side_text_other_side_image{ background-position:center; }
    .two_columns_one_side_text_other_side_image .overlay{ background:rgba(7,33,60,.88); }
  }

  @media (max-width:600px){
    .hero-band h1{font-size:30px;}
  }
