/* Cutler Bay Plumbing company pages */
.company-page{background:#f3f7fb;color:#1f2937}.company-page *{box-sizing:border-box}.company-hero{position:relative;min-height:520px;display:flex;align-items:center;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}.company-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,18,43,.94),rgba(3,18,43,.7) 55%,rgba(3,18,43,.35))}.company-hero-content{position:relative;z-index:2;max-width:900px;padding:90px 0}.company-hero .eyebrow{color:#9fd4ff}.company-hero h1{margin:0;color:#fff;font-size:clamp(48px,7vw,88px);line-height:.94;letter-spacing:-.055em}.company-hero p{max-width:800px;color:#fff;font:700 20px/1.6 Arial,sans-serif}.company-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.company-call-btn{background:#fff;color:#051b3d}.company-section{padding:82px 0}.company-section.white{background:#fff}.company-section .container{max-width:1180px}.company-section h2{color:#051b3d;font-size:clamp(32px,4vw,50px);line-height:1;letter-spacing:-.04em;margin:0 0 20px}.company-section p{font-size:17px;line-height:1.78}.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.company-card{background:#fff;border:1px solid #d9e3ef;border-radius:22px;padding:28px;box-shadow:0 14px 34px rgba(8,47,99,.09)}.company-card h3{color:#051b3d;margin:0 0 12px;font-size:23px}

.company-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}

.company-image{min-height:430px;border-radius:26px;background-size:cover;background-position:center;box-shadow:0 20px 50px rgba(8,47,99,.15)}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.contact-panel,.contact-form{background:#fff;border:1px solid #d9e3ef;border-radius:24px;padding:30px;box-shadow:0 14px 34px rgba(8,47,99,.09)}.contact-list{display:grid;gap:14px;margin-top:24px}.contact-list a,.contact-list span{display:block;padding:15px 16px;border-radius:14px;background:#f3f7fb;color:#051b3d;font-weight:800;text-decoration:none}.contact-form label{display:block;color:#051b3d;font-weight:800;margin-bottom:7px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:14px 15px;border:1px solid #cbd7e5;border-radius:12px;font:inherit;margin-bottom:16px}.contact-form textarea{min-height:150px;resize:vertical}.contact-form button{border:0;cursor:pointer}.policy-content{max-width:900px}.policy-content h2{margin-top:45px;font-size:30px}.policy-content h3{color:#051b3d;margin-top:28px}.policy-content ul{line-height:1.8}.gallery-grid-page{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.gallery-card{overflow:hidden;border-radius:20px;background:#fff;border:1px solid #d9e3ef;box-shadow:0 14px 34px rgba(8,47,99,.09)}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery-card div{padding:18px}.gallery-card h3{margin:0 0 7px;color:#051b3d}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.value-card{background:#051b3d;color:#fff;padding:25px;border-radius:20px}.value-card h3{margin:0 0 10px;color:#fff}.cta-strip{padding:60px 0;background:linear-gradient(135deg,#051b3d,#0a4f91);color:#fff}.cta-strip h2,.cta-strip p{color:#fff}.legal-note{font-size:14px;color:#526174}.success-note{padding:12px 14px;background:#eef7ff;border-left:4px solid #0a84e8;margin-bottom:20px}.company-page a:not(.btn):not(.logo):not(.nav-cta):not(.mobile-sticky-case-btn){text-underline-offset:3px}@media(max-width:900px){.company-grid,.gallery-grid-page{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:repeat(2,1fr)}.company-split,.contact-layout{grid-template-columns:1fr}}@media(max-width:620px){.company-hero{min-height:470px}.company-hero-content{padding:70px 0}.company-section{padding:58px 0}.company-grid,.gallery-grid-page,.values-grid{grid-template-columns:1fr}.contact-panel,.contact-form{padding:22px}}


/* new */
/* =========================================================
   ABOUT PAGE — PHOTO FIXES
   Add this at the very bottom of the CSS file
   ========================================================= */

/* Align the photo card with the top of the text column */
.company-split {
  align-items: start;
}

/* Keep every item at the top of its grid column */
.company-split > * {
  align-self: start;
}

/* Base photo-card formatting */
.company-photo-card {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d9e3ef;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 20px 50px rgba(8, 47, 99, 0.15);
}

/* Regular landscape photograph */
.company-photo-card > img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center top;
}

/* Jesse's vertical 9:16 photograph */
.company-photo-card.portrait {
  width: min(100%, 520px);
  justify-self: center;
}

.company-photo-card.portrait > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  object-fit: contain;
  object-position: center top;
  background: #eef3f8;
}

/* Caption underneath each photograph */
.company-photo-caption {
  padding: 22px 24px 24px;
  text-align: center;
  background: #ffffff;
}

.company-photo-caption strong {
  display: block;
  margin: 0 0 7px;
  color: #082f63;
  font-size: 20px;
  line-height: 1.25;
}

.company-photo-caption span {
  display: block;
  color: #334155;
  font-size: 16px;
  line-height: 1.55;
}

/* Tablet */
@media (max-width: 900px) {
  .company-split {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .company-photo-card.portrait {
    width: min(100%, 460px);
  }
}

/* Mobile */
@media (max-width: 620px) {
  .company-photo-card,
  .company-photo-card.portrait {
    width: 100%;
    border-radius: 20px;
  }

  .company-photo-caption {
    padding: 19px 18px 21px;
  }

  .company-photo-caption strong {
    font-size: 19px;
  }

  .company-photo-caption span {
    font-size: 15px;
  }
}
