
/*-----------------------------------------------------
Table of Contents

- @media(max-width:1920px)
- @media(min-width:1920px)
- @media(max-width:1720px)
- @media(max-width:1510px)
- @media(min-width:1510px)
- @media(min-width:1410px)
- @media(max-width:1200px)
- @media(min-width:1200px)
- @media(max-width:1040px)
- @media(max-width:1024px)
- @media(min-width:1024px)
- @media(max-width:800px)
- @media(max-width:600px)
- @media(max-width:420px)
- @media(max-width:320px)
- @media(max-height:630px)

------------------------------------------------------*/

/* Start @media(max-width:1920px) */

@media(max-width: 1920px) {

	.entry {
		padding-left: 100px;
	}
}

/* Start @media(min-width:1920px) */

@media(min-width: 1920px) {

	.case-study .hero .content {
		width: 40%;
	}

	.contact-us .block-1 .content {
		width: 42%;
	}

	.main-hero,
	.main-hero .block-1 {
		height: 880px;
	}

	.similar-posts header,
	.similar-posts .item,
	.next-project header,
	.next-project .thumbnail {
		height: 600px;
	}
}

/* Start @media(max-width:1720px) */

@media(max-width: 1720px) {

	.container-large {
		margin-right: 50px;
		margin-left: 50px;
	}

	.entry {
		padding-left: 50px;
	}
}

/* Start @media(max-width:1510px) */

@media(max-width: 1510px) {
	
	.container {
		margin-right: 50px;
		margin-left: 50px;
	}
}

/* Start @media(min-width:1510px) */

@media(min-width: 1510px) {

	.main-hero .block-1 p {
		width: 70%;
	}

	.services .item {
		height: 580px;
	}

	.services .item .icon {
		height: 150px;
		width: 150px;
	}

	.services .item .icon img {
		height: 55px;
		margin-top: 47.5px;
	}

	.services .item .content h2 {
		margin-top: 50px;
	}
}

/* Start @media(min-width:1410px) */

@media(min-width: 1410px) {

	.case-study .info-2 {
		width: 60%;
	}

	.featured-works-item {
		height: 530px;
	}

	.journal .entry-title {
		font-size: 3.625rem;
	}

	.projects .item img {
		height: 450px;
	}

	.similar-posts .item .overlay .content {
		padding: 0 80px 0 50px;
	}
}

/* Start @media(max-width:1200px) */

@media(max-width: 1200px) {

	.about-page .info h1 {
		font-size: 2.9rem;
	}

	.case-study .hero {
		height: auto;
	}

	.case-study .hero .img-placeholder {
		height: 600px;
		margin-top: 70px;
		position: static;
		top: 0;
		width: 100%;
		z-index: 1;
	}

	.case-study .hero .content {
		float: none;
		padding-top: 100px;
		width: 100%;
	}

	.case-study .hero .content h1 {
		font-size: 5rem;
	}

	.case-study .hero .content h2,
	.case-study .hero .content p {
		margin-left: 0;
	}

	.case-study .hero .content p {
		width: 50%;
	}

	.case-study .info {
		float: none;
		margin: 87px 0 70px 0;
		width: 70%;
	}

	.case-study .details {
		float: none;
		margin-top: 0;
		margin-bottom: 100px;
		padding: 32px 0 40px 0;
		width: 50%;
	}

	.case-study .info-2 {
		margin: 86px auto;
	}

	.case-study-image_1,
	.case-study-image_2,
	.case-study-image_3,
	.case-study-image_4,
	.case-study-image_5 {
		height: 600px;
	}

	.entry-content p {
		width: 65%;
	}

	.next-project {
		margin-top: 100px;
	}

	.next-project header,
	.next-project .thumbnail {
		width: 50%;
	}

	.services .item {
		border-bottom: 1px solid #333;
		width: 50%;
	}

	.services .item:nth-of-type(4) {
		border-bottom: none;
	}

	.quote br {
		content: '';
	}
}

/* Start @media(min-width:1200px) */

@media(min-width: 1200px) {

	.featured-works a:nth-of-type(1) .featured-works-item {
		float: left;
		margin-right: 5%;
		width: 65%;
	}

	.featured-works a:nth-of-type(2) .featured-works-item {
		float: right;
		width: 30%;
	}

	.featured-works a:nth-of-type(3) .featured-works-item,
	.featured-works a:nth-of-type(4) .featured-works-item,
	.featured-works a:nth-of-type(5) .featured-works-item {
		float: left;
		width: 30%;
	}

	.featured-works a:nth-of-type(4) .featured-works-item {
		margin-left: 5%;
		margin-right: 5%;
	}

	.featured-works a:nth-of-type(6) .featured-works-item {
		float: left;
		margin-right: 5%;
		width: 30%;
	}

	.featured-works a:nth-of-type(7) .featured-works-item {
		float: right;
		width: 65%;
	}

	.featured-works a:nth-of-type(6) .featured-works-item,
	.featured-works a:nth-of-type(7) .featured-works-item {
		margin-bottom: 0;
	}
}

/* Start @media(max-width:1040px) */

@media(max-width: 1040px) {

	.entries-list {
		width: 100%;
	}

	.entry-thumbs {
		display: none;
	}

	footer {
		padding-top: 65px;
	}

	.footer-details {
		margin-bottom: 30px;
		width: 50%;
	}

	.footer-details form input {
		width: 60%;
	}

	.copyright {
		padding-top: 50px;
	}
}

/* Start @media(max-width:1024px) */

@media(max-width: 1024px) {

	.about-page .info {
		margin: 95px 0 90px 0;
	}

	.about-page .info header,
	.about-page .info .content {
		float: none;
		width: 75%;
	}

	.about-page .info .content {
		margin-top: 30px;
		margin-left: 0;
	}

	.container,
	.container-large {
		margin-right: 25px;
		margin-left: 25px;
	}

	.contact-image {
		display: none;
	}

	.contact-form-container {
		position: static;
		top: 0;
		padding-right: 0;
		width: 100%;
	}

	.contact-us .block-1 .content {
		width: 85%;
	}

	.contact-us .block-1 .content h2 {
		font-size: 4.2rem;
	}

	.entry {
		padding-left: 25px;
	}

	.entry-content p {
		width: 75%;
	}

	.main-hero .block-1 h1 {
		font-size: 4.3rem;
	}

	.projects .item {
		margin-right: 4%;
		width: 48%;
	}

	.projects a:nth-of-type(2) .item {
		margin-right: 0;
	}

	.projects a:nth-of-type(1) .item,
	.projects a:nth-of-type(2) .item {
		margin-bottom: 45px;
	} 

	.project-category a:nth-of-type(1) .item,
	.project-category a:nth-of-type(2) .item,
	.project-category a:nth-of-type(3) .item,
	.project-category a:nth-of-type(4) .item,
	.project-category a:nth-of-type(5) .item,
	.project-category a:nth-of-type(6) .item,
	.project-category a:nth-of-type(7) .item,
	.project-category a:nth-of-type(8) .item {
		float: none;
		margin: 0 auto 88px auto;
		width: 70%;
	}

	.similar-posts header {
		display: none;
	}

	.similar-posts .item {
		width: 50%;
	}
}

/* Start @media(min-width:1024px) */

@media(min-width: 1024px) {

	.entry-header {
		height: 215px;
		position: absolute;
		bottom: 0;
		width: 66%;
	}

	.single-journal-entry .entry-category {
		margin: 70px 0 24px 0;
	}

	.entry-meta {
		position: absolute;
		bottom: -113px;
		right: 0;
	}

	.entry-author {
		font-size: 1.2rem;
	}
}

/* Start @media(max-width:800px) */

@media(max-width: 800px) {

	.about-page .info header,
	.about-page .info .content,
	.case-study .hero .content p,
	.case-study .info,
	.case-study .details,
	.entry-content  p,
	.entry-image_1 img,
	.case-study-image_2,
	.case-study-image_3,
	.case-study-image_4,
	.case-study-image_5,
	.case-study .info-2 {
		width: 100%;
	}

	.about-us,
	.featured-works {
	    margin: 100px 0;
	}

	.about-us .block-1,
	.about-us .block-2 {
		float: none;
		width: 100%;
	}

	.about-us .block-1 {
		margin-bottom: 80px;
	}

	.about-us .block-2 .about-image {
		height: 570px;
	}

	.about-us .block-2 br {
		content: '';
	}

	.about-us .content p {
		width: 100%;
	}

	.case-study-image_2,
	.case-study-image_4 {
		margin-right: 0;
		margin-bottom: 60px;
	}

	.contact-us .block-1 {
		align-items: center;
		display: flex;
		float: none;
		height: auto;
		justify-content: center;
		padding: 100px 0;
		width: 100%;
	}

	.contact-us .block-2 {
		display: none;
	}

	.entry-image_1 figcaption {
		position: static;
	}

	.entry-image_1 figcaption br,
	.entry-image_3 figcaption br {
		content: '';
	}
	
	.entry-image_2,
	.entry-image_3 {
		float: none;
		padding: 0 25px;
		width: 100%;
	}

	.entry-image_2 {
		margin: 70px 0 0 0;
	}

	.entry-image_3 {
		margin: 40px 0 60px 0;
	}

	.single-journal-entry .entry-title br {
		content: '';
	}

	.entry-meta {
		margin-top: 18px;
	}

	.footer-details {
		float: none;
	}

	.footer-details form input {
		width: 80%;
	}

	.main-hero .block-1 {
		width: 100%;
	}

	.main-hero-image {
		display: none;
	}

	.navigation {
		display: none;
	}

	.next-project header,
	.next-project .thumbnail {
	 	float: none;
	 	width: 100%;
	 }
	.open-nav {
		display: block;
	}

	.projects-page main {
		padding-bottom: 25px;
	}

	.project-category {
	    margin-bottom: 47px;
	}

	.project-category a:nth-of-type(1) .item,
	.project-category a:nth-of-type(2) .item,
	.project-category a:nth-of-type(3) .item,
	.project-category a:nth-of-type(4) .item,
	.project-category a:nth-of-type(5) .item,
	.project-category a:nth-of-type(6) .item,
	.project-category a:nth-of-type(7) .item,
	.project-category a:nth-of-type(8) .item {
		margin-bottom: 68px;
		width: 100%;
	}

	.services .item {
		width: 100%;
	}

	.similar-posts {
		margin-top: 110px;
	}

	.similar-posts .item {
		float: none;
		width: 100%;
	}
}

/* Start @media(max-width:600px) */

@media(max-width: 600px) {

	.about-page .info h1 {
		font-size: 2.5rem;
		line-height: 1.3;
	}

	.about-page .info h1 br {
		content: '';
	}

	.close-nav {
	    right: 30px;
	    top: 30px;
	}
	
	.contact-form-container {
		height: auto;
	}

	.contact-form input[name=name],
	.contact-form input[name=email],
	.contact-form input[name=project-type], 
	.contact-form input[name=phone-number] {
		float: none;
		width: 100%;
	}

	.contact-form input[name=name],
	.contact-form input[name=project-type] {
		margin-right: 0;
	}

	.copyright {
		font-size: 1rem;
	}

	.journal .entry-title {
		font-size: 3rem;
	}

	.main-hero .block-1 p {
		width: 100%;
	}

	.case-study .hero .img-placeholder,
	.case-study-image_1,
	.case-study-image_2,
	.case-study-image_3,
	.case-study-image_4,
	.case-study-image_5,
	.similar-posts .item {
		height: 370px;
	}

	.case-study-image_1,
	.case-study-image_2,
	.case-study-image_4,
	.case-study-image_5 {
		margin-bottom: 30px;
	}

	.footer-details {
		width: 100%;
	}

	.projects .item {
		margin-right: 0;
		width: 100%;
	}

	.projects a:nth-of-type(3) .item {
		margin-bottom: 45px;
	} 

	.project-category {
	    margin-bottom: 57px;
	}

	.project-category a:nth-of-type(1) .item-img,
	.project-category a:nth-of-type(2) .item-img,
	.project-category a:nth-of-type(3) .item-img,
	.project-category a:nth-of-type(4) .item-img,
	.project-category a:nth-of-type(5) .item-img,
	.project-category a:nth-of-type(6) .item-img,
	.project-category a:nth-of-type(7) .item-img,
	.project-category a:nth-of-type(8) .item-img {
		height: 470px;
	}

	.responsive-nav {
		left: 35px;
	}

	.responsive-nav li {
		font-size: 2rem;
	}

	.social-links {
		bottom: 20px;
		left: 35px;
	}
	
	.social-links li {
		float: none;
		margin-bottom: 7px;
	}
}

/* Start @media(max-width:420px) */

@media(max-width: 420px) {

	.about-us .block-1 .about-image {
		height: 470px;
	}

	.about-us .content h2 {
		font-size: 3.3rem;
	}

	.about-us .block-2 .about-image {
		height: 470px;
	}

	.case-study .hero .content h1 {
		font-size: 4rem;
		line-height: 1;
	}

	.case-study .info p:first-child, 
	.case-study .info-2 {
		font-size: 1.2rem;
	}

	.case-study .info p {
		font-size: 1rem;
	}

	.case-study .details li {
		float: none;
		width: 100%;
	}

	.case-study .details li:nth-of-type(even) {
		padding: 0 0 0 45px;
	}

	.case-study .details li:nth-of-type(3) {
		margin-bottom: 18px;
	}

	.contact-form-container h1 {
		font-size: 4rem;
		line-height: 1;
		padding-bottom: 40px;
	}

	.contact-us .block-1 .content {
		width: 90%;
	}

	.contact-us .block-1 .content h2 {
		font-size: 3.7rem;
	}

	.contact-form input[type=submit] {
		width: 100%;
	}

	.entry {
		padding-bottom: 90px;
		padding-top: 90px;
	}

	.journal .entry-title {
		font-size: 2.4rem;
		line-height: 1.3;
	}

	.main-hero .block-1 p {
		font-size: 1.1rem;
		margin: 25px 0 38px 0;
	}

	.single-journal-entry .entry-title {
	    font-size: 2.5rem;
	    line-height: 1.2;
	}

	.quote {
		padding: 74px 0 54px 0;
	}

	.quote p {
		font-size: 1.7rem;
	}
}

/* Start @media(max-width:320px) */

@media(max-width: 320px) {

	.about-page .info h1 {
		font-size: 2rem;
	}

	.about-page .info p {
		font-size: 1rem;
	}

	.about-us .content h2 {
		font-size: 2.8rem;
	}

	.case-study .hero .content h1 {
	    font-size: 3.3rem;
	    line-height: 1.1;
	}

	.contact-form-container h1 {
		font-size: 3rem;
	}

	.contact-us .block-1 .content h2 {
		font-size: 3.2rem;
	}


	.entry {
	    padding-bottom: 70px;
	    padding-top: 70px;
	}

	.entry-content .intro {
		font-size: 1.1rem;
	}

	.entry-content p,
	.contact-us .block-1 .content p {
		font-size: 1rem;
	}

	.featured-works-item {
		margin-bottom: 30px;
	}

	.main-hero .block-1 h1 {
		font-size: 3.5rem;
	}

	.main-hero .block-1 p {
		font-size: 1rem;
	}

	.next-project header h2 {
		font-size: 3rem;
	}

	.single-journal-entry .entry-title,
	.journal .entry-title {
	    font-size: 2rem;
	}

	.project-category .item h2 {
		font-size: 1.6rem;
	}

	.projects .item img,
	.project-category a:nth-of-type(1) .item-img,
	.project-category a:nth-of-type(2) .item-img,
	.project-category a:nth-of-type(3) .item-img,
	.project-category a:nth-of-type(4) .item-img,
	.project-category a:nth-of-type(5) .item-img,
	.project-category a:nth-of-type(6) .item-img,
	.project-category a:nth-of-type(7) .item-img,
	.project-category a:nth-of-type(8) .item-img,
	.case-study .hero .img-placeholder,
	.case-study-image_1,
	.case-study-image_2,
	.case-study-image_3,
	.case-study-image_4,
	.case-study-image_5,
	.next-project header,
	.next-project .thumbnail,
	.featured-works-item,
	.about-us .block-1 .about-image {
		height: 270px;
	}

	.services .item {
		height: 370px;
	}

	.quote p {
		font-size: 1.3rem;
	}
}


/* Start @media(max-height:630px) */

@media(max-height: 630px) {

	.social-links {
		display: none;
	}

}
/* ======================================================
   PM INTELLIGENCE — MOBILE OVERRIDES (HOMEPAGE)
   Paste at the VERY BOTTOM of responsive.css
   ====================================================== */

/* Make sure the overlay nav always sits above everything */
.responsive-nav-container { z-index: 99999; }

/* ---- Mobile: general safety ---- */
@media (max-width: 800px) {

  /* Prevent any horizontal bleed */
  html, body { overflow-x: hidden; }

  /* ------------------------------
     HEADER / NAV (fix bunching + click)
     ------------------------------ */

  /* On mobile, stop the homepage header being absolute (tap layer issues) */
  .main-hero header { 
    position: relative !important;
    z-index: 9999;
  }

  .header {
    height: auto;
    line-height: normal;
    padding: 18px 0;
  }

  .logo {
    height: 56px;
    width: auto;
    margin-top: 0;   /* removes the “bunching” */
    display: block;
  }

  .open-nav {
    margin: 16px 0;
    z-index: 10000;
    pointer-events: auto;
  }

  /* ------------------------------
     HERO (fix chopped headline + spacing)
     ------------------------------ */

  /* Stop the hero forcing desktop heights on mobile */
  .main-hero { height: auto; }
  .main-hero .block-1 { 
    height: auto;
    padding: 30px 0 80px 0;
  }

  /* Your big headline: scale down safely and never overflow */
  .main-hero .block-1 h1 {
    font-size: clamp(2.6rem, 9.5vw, 3.6rem);
    line-height: 1.02;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .main-hero .block-1 p {
    font-size: 1.05rem;
    line-height: 1.65;
    margin: 22px 0 28px 0;
    width: 100%;
  }

  /* ------------------------------
     SERVICES / ICONS (reduce insane vertical space)
     - 2-column grid
     - 5th item becomes centred “featured” tile
     ------------------------------ */

  .services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 0 25px;
    margin: 70px 0;
  }

  /* Kill float + fixed heights on mobile */
  .services .item {
    float: none;
    width: auto;
    height: auto;
    border: 1px solid rgba(0,0,0,0.12);
    border-right: none;
    border-bottom: none;
    padding: 22px 14px;
  }

  .services .item .icon {
    height: 86px;
    width: 86px;
  }

  .services .item .icon img {
    height: 34px;
    margin-top: 26px;
  }

  .services .item .content h2 {
    font-size: .67rem;
    letter-spacing: 2px;
    margin-top: 18px;
    line-height: 1.25;
  }

  /* 5th item: full-width, centred so odd-number feels intentional */
  .services .item:nth-of-type(5) {
    grid-column: 1 / -1;
    max-width: 440px;
    justify-self: center;
  }

  /* ------------------------------
     WORKFLOW SECTION (stacked mobile layout)
     ------------------------------ */

  .workflow-section {
    margin: 90px 0;
  }

  .workflow-section .block-1,
  .workflow-section .block-2 {
    float: none;
    width: 100%;
  }

  .workflow-section .workflow-image {
    height: 320px;
    margin: 18px 0 26px 0;
  }

  .workflow-section .content {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .workflow-section h2 {
    font-size: 3.0rem;
    line-height: 1.05;
    margin-bottom: 18px;
  }

  .workflow-list li {
    font-size: 1.05rem;
    line-height: 1.65;
    margin-bottom: 8px;
  }

  /* ------------------------------
     FOOTER (minimal on mobile)
     - hide “Services” sitemap column
     - hide empty 4th column
     - tighten spacing
     ------------------------------ */

  footer { 
    padding-top: 45px;
    padding-bottom: 30px;
  }

  /* Hide the big watermark logo on mobile to keep it clean */
  footer::after { display: none; }

  footer .footer-details:nth-of-type(2),
  footer .footer-details:nth-of-type(4) {
    display: none;
  }

  .footer-details {
    width: 100%;
    margin-bottom: 18px;
  }

  .copyright {
    padding: 28px 0 0 0;
    font-size: 1rem;
  }
}


/* ---- Smaller phones: keep hero tidy ---- */
@media (max-width: 420px) {
  .main-hero .block-1 h1 {
    font-size: clamp(2.3rem, 10vw, 3.1rem);
  }
}

/* ======================================================
   FINAL MOBILE FIX — HOMEPAGE MENU + HEADER SPACING
   ====================================================== */

@media (max-width: 800px) {

  /* --------------------------------
     1. FIX: Overlay menu hidden behind homepage hero
     -------------------------------- */

  /* Kill hero stacking context on mobile */
  .main-hero,
  .main-hero-image {
    position: relative;
    z-index: 1;
  }

  /* Force responsive menu ABOVE everything */
  .responsive-nav-container {
    position: fixed;
    z-index: 99999 !important;
    background: #111; /* ensure full dark overlay */
  }

  /* --------------------------------
     2. FIX: Header pushed too far down
     -------------------------------- */

  /* Pin header cleanly to top */
  .header {
    position: relative;
    padding: 14px 0;
  }

  /* Remove hero-driven vertical push */
  .main-hero .block-1 {
    padding-top: 40px;
    padding-bottom: 60px;
  }

  /* Ensure burger is visually and interactively correct */
  .open-nav {
    position: absolute;
    right: 25px;
    top: 22px;
    margin: 0;
  }

  /* Ensure logo aligns nicely */
  .logo {
    margin-top: 0;
  }
}

/* ======================================================
   MOBILE TWEAKS — tighten section spacing + restore footer mark
   ====================================================== */

@media (max-width: 800px) {

  /* "Who I work with" (About Us section) spacing */
  .about-us{
    margin: 60px 0;           /* was 100px 0 */
  }

  .about-us .block-1{
    margin-top: 40px;         /* was 100px (from main.css) */
    margin-bottom: 40px;      /* reduces the big gap before the image */
  }
}

@media (max-width: 800px) {

  /* Restore the footer watermark logo on mobile */
  footer::after{
    display: block !important;   /* overrides the "display:none" earlier */
    right: 100px;                /* 100px breathing room from the edge */
    width: 520px;                /* keep your original footprint */
    background-size: 320px auto; /* slightly smaller for mobile */
    opacity: 0.04;               /* subtle */
  }
}

/* =========================================
   ABOUT PAGE – Mobile Fix Patch
   Add this at the VERY BOTTOM of responsive.css
   ========================================= */

@media (max-width: 768px){

  /* Give the page a sane side padding on mobile */
  .about-page .container{
    padding-left: 22px;
    padding-right: 22px;
  }

  /* -----------------------------------------
     ABOUT INTRO (About PM Intelligence section)
     ----------------------------------------- */

  /* Kill the desktop grid and stack nicely */
  .about-page .info.about-intro{
    display: block !important;
    margin: 90px 0 70px 0;   /* reduce the “generous” spacing */
  }

  .about-page .info.about-intro header,
  .about-page .info.about-intro .about-portrait,
  .about-page .info.about-intro .content{
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Portrait image: stop it looking “skewed / boxed” */
  .about-page .info.about-intro .about-portrait{
    padding-top: 18px;
    padding-bottom: 18px;
    text-align: left;
  }

  .about-page .info.about-intro .about-portrait img{
    width: 100%;
    max-width: 220px;
    height: auto;
    display: block;
  }

  /* Remove the big desktop left padding + vertical rule on mobile */
  .about-page .info.about-intro .content{
    padding-left: 0 !important;
  }
  .about-page .info.about-intro .content::before{
    display: none !important;
  }

  /* Tone down the headline so it doesn’t dominate the screen */
  .about-page .info.about-intro h1{
    font-size: 2.6rem;
    line-height: 1.05;
  }

  /* -----------------------------------------
     FULL WIDTH IMAGE (the stadium image)
     ----------------------------------------- */

  /* Stop the “whole screen image” + weird gaps rhythm */
  .about-page-img{
    height: 260px;        /* key: prevents the huge full-screen image */
    width: 100%;
    object-fit: cover;
  }

  /* -----------------------------------------
     PHILOSOPHY SECTION (3 core beliefs)
     ----------------------------------------- */

  /* Stack header + content (no columns on mobile) */
  .about-page .info.philosophy-section{
    display: block !important;
    margin: 70px 0 70px 0;
  }

  .about-page .info.philosophy-section header,
  .about-page .info.philosophy-section .content{
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Remove the vertical rule / big left padding on mobile */
  .about-page .info.philosophy-section .content{
    padding-left: 0 !important;
  }
  .about-page .info.philosophy-section .content::before{
    display: none !important;
  }

  /* Make the belief blocks read nicely */
  .philosophy-block .belief{
    margin-bottom: 20px;
  }

  .benefits-list{
    margin: 12px 0 18px 0;
    padding-left: 18px;
  }

  /* -----------------------------------------
     FOOTER watermark/logo: keep it visible on mobile
     ----------------------------------------- */

  footer::after{
    width: 100%;
    right: 0;
    background-size: 300px auto;
    background-position: calc(100% - 40px) center; /* pull it off the hard-right edge */
    opacity: 0.06;
  }
}

/* =========================================
   ABOUT PAGE – reduce top dead space on mobile
   ========================================= */

@media (max-width: 768px){

  /* Header tighten (keeps logo + burger closer) */
  .header{
    height: 72px;
    line-height: 72px;
  }
  .logo{
    margin-top: 16px;
    height: 56px;
  }
  .open-nav{
    margin: 24px 0;
  }

  /* THIS is the big one: override the desktop .info margins */
  .about-page .info{
    margin: 60px 0 60px 0 !important;
  }

  /* Make the very first section a touch tighter */
  .about-page .info.about-intro{
    margin-top: 35px !important;
  }
}

/* =========================================================
   MOBILE PATCH – tighten header + Services spacing
   (safe, page-scoped where possible)
   ========================================================= */

@media (max-width: 600px){

  /* 1) HEADER: remove excess vertical space on mobile */
  .header{
    height: auto;
    line-height: normal;
    padding: 10px 0;           /* was feeling very tall */
    border-top: 0 !important;  /* just in case a 1px rule appears from somewhere */
  }

  .logo{
    height: 56px;              /* slightly smaller on mobile */
    margin-top: 0 !important;  /* removes that “floating down” feel */
  }

  .open-nav{
    margin: 18px 0;            /* pulls hamburger into line with the logo */
  }

  /* 2) SERVICES: reduce the big gap from header to first image/content
        (your services page body class may vary; this covers both common cases) */
  .services-page main,
  .projects-page main{
    padding-top: 20px !important;  /* reduces that big empty slab */
  }

  /* 3) SERVICES IMAGES: shave 40–50px off “hero” style images on mobile */
  .services-page .img-cover,
  .projects-page .img-cover{
    max-height: 360px;         /* adjust to taste (e.g. 380–460) */
    height: auto;
  }

  /* 4) Add padding AFTER the CTA button before the next image/section */
  .services-page .btn,
  .projects-page .btn{
    margin-bottom: 40px;       /* creates consistent gap after REQUEST CALLBACK */
  }

  /* If the next element is an image, guarantee space even if margins collapse */
  .services-page .btn + img,
  .projects-page .btn + img{
    margin-top: 40px;
    display: block;
  }

}

/* =========================================================
   MOBILE PATCH – Contact page top gap
   ========================================================= */

@media (max-width: 600px){

  /* Tighten header area (logo + burger) a touch more on Contact */
  .contact-page .header{
    padding: 10px 0 !important;
  }

  /* Pull the page content up (removes the “big empty slab”) */
  .contact-page .contact{
    padding-top: 10px !important;   /* was 40px */
  }

  /* Reduce the form block’s heavy top padding on mobile */
  .contact-page .contact-form-container{
    padding: 30px 0 0 0 !important; /* was 80px 80px 0 0 */
    width: 100% !important;
    float: none !important;
  }

  /* Optional: slightly smaller H1 so it doesn’t push everything down */
  .contact-page .contact-form-container h1{
    font-size: 2.6rem !important;
    padding-bottom: 18px !important;
  }

  /* If you’re using the right-side background image block, hide it on mobile */
  .contact-page .contact .contact-image{
    display: none !important;
  }

}


