/* =========================================================
   TwoB — Clean CSS (safe consolidation)
   ========================================================= */

/* ---------- Global guardrails ---------- */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

/* ---------- The seam fix (the one that WORKED) ---------- */
/* Sydney outputs .entry-header above content even if title is hidden */
.home .entry-header,
.page .entry-header,
.single .entry-header {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Also hide any residual injected title text */
.home .entry-title,
.page .entry-title,
.page h1.entry-title,
.page .page-title {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep content tight to header */
.site-content,
.content-area,
.site-main,
.entry-content,
.content-inner,
.page-wrap,
.content-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ---------- Full-bleed “alignfull” (Sydney fix) ---------- */
.alignfull,
.wp-block-cover.alignfull,
.wp-block-group.alignfull,
.wp-block-columns.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Ensure Cover background image behaves */
.wp-block-cover__image-background {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* ---------- Hero / Cover text alignment ---------- */
.wp-block-cover .wp-block-cover__inner-container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

/* Optional: keep hero headings from adding surprise gaps */
.wp-block-cover h1 { margin-bottom: 0.5rem; }

/* ---------- Services: accent stripe height ---------- */
.service-accent,
.service-card .service-accent,
.wp-block-group.service-accent {
  height: 8px !important;
  min-height: 8px !important;
  padding: 0 !important;
  margin: 0 0 18px 0 !important;
  border-radius: 10px !important;
  line-height: 0 !important;
}

/* Keeps stripe tidy inside cards */
.service-card { overflow: hidden; }

/* ---------- Footer (dark teal + ivory) ---------- */
.site-footer,
#colophon,
.footer-widgets {
  background-color: #1F5F66 !important; /* teal */
  color: #F3EDE0 !important;            /* ivory */
}

/* Footer container width */
.footer-widgets .container,
#colophon .container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* Footer text + headings */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
  color: #F3EDE0 !important;
}

/* Footer links */
.site-footer a,
#colophon a,
.footer-widgets a {
  color: #F3EDE0 !important;
  text-decoration: none;
}
.site-footer a:hover,
#colophon a:hover,
.footer-widgets a:hover {
  color: #6FC6BC !important;
}

/* Footer logo sizing */
.footer-widgets img,
.footer-widgets .wp-block-image img,
.footer-widgets .widget_media_image img {
  max-width: 260px !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Tighten space under logo blocks */
.footer-widgets figure.wp-block-image,
.footer-widgets .wp-block-image,
.footer-widgets .widget_media_image {
  margin-bottom: 8px !important;
}

/* Footer right column stack (if using your .footer-contact wrapper) */
.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}
.footer-contact .footer-li { line-height: 0; display: inline-block; }
.footer-contact .footer-email { margin-top: 0 !important; display: inline-block; }
/* Experience box polish */
.experience-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 34px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.experience-card p{
  line-height: 1.55;
}

.experience-card .wp-block-image img{
  border-radius: 999px;
}
/* EXPERIENCE CARD — typography + anchoring */
.experience-card{
  background: #fff;
  border-radius: 22px;
  padding: 36px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

/* Main description paragraph */
.experience-card p{
  font-size: 19px;          /* key fix */
  line-height: 1.55;
  margin-bottom: 22px;
}

/* Bullet list */
.experience-card ul{
  font-size: 18px;
  line-height: 1.45;
  padding-left: 1.2em;
}

.experience-card li{
  margin-bottom: 12px;
}

/* Headshot polish (if inside the card) */
.experience-card .wp-block-image img{
  border-radius: 999px;
}
/* Photo caption styling */
.experience-card figcaption{
  font-size: 14.5px;
  line-height: 1.4;
  color: rgba(255,255,255,0.75);
  text-align: center;
  margin-top: 10px;
}
/* Homepage testimonial – centered, constrained */
.home-testimonial {
  max-width: 900px;
  margin: 48px auto;          /* THIS is the key line */
  padding: 48px 56px;

  border-radius: 16px;
  box-sizing: border-box;

  display: block;
}
/* Services page: clean cards instead of big color blocks */
.service-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  margin: 22px 0;
  position: relative;
}

/* Slim accent bar */
.service-card::before{
  content:"";
  position:absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 4px;
  border-radius: 4px;
  background: #1F5F66; /* your teal */
  opacity: .95;
}

/* Tighten typography inside cards */
.service-card h3{
  margin: 0 0 10px;
}
.service-card p{
  margin: 0 0 12px;
}
.service-card ul{
  margin: 10px 0 0;
  padding-left: 1.1em;
}
.service-card li{
  margin: 6px 0;
}
/* Orange accent for selected service cards */
.service-card.accent-orange::before{
  background: #C36A2D; /* your warm orange */
}
/* Normalize text color inside service cards */
.service-card p,
.service-card li{
  color: #2B2B2B;
}

/* Optional: slightly softer bullets */
.service-card li::marker{
  color: #1F5F66;
}
.service-card .is-style-subtle,
.service-card p:last-of-type{
  color: #555;
  font-size: .95em;
}
.about-hero + .wp-block-group {
  margin-top: 0 !important;
}
/* Remove top border / line above first full-width hero */
.entry-content > .wp-block-cover.alignfull:first-child {
  margin-top: 0 !important;
}

.site-content,
.content-inner {
  border-top: none !important;
}

/* Keep Sydney from making the Columns inside it expand wider */
body:not(.wp-admin) .twob-card-section .wp-block-columns{
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Safely constrain Services cards section to match Past Projects */
body:not(.wp-admin) .twob-card-section{
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* Prevent Columns from stretching beyond the section */
body:not(.wp-admin) .twob-card-section .wp-block-columns{
  max-width: 100%;
}
