/* ClinicGrower design refinement, 9 November 2026.
   Scoped corrections against the verified published release.
   Existing colours, imagery, copy and wide-screen layouts are retained. */
.cg-media-caption strong { flex-shrink: 0; }
.cg-media-caption span { min-width: 0; }

@media (max-width: 767px) {
  /* Put the proposition and enquiry choices before supporting media. */
  .cg-home-hero__grid > .cg-home-hero__media { grid-row: 5 !important; }
  .cg-home-hero__grid .cg-home-hero__lead { grid-row: 2 !important; margin-top: 0 !important; }
  .cg-home-hero__grid .cg-actions { grid-row: 3 !important; margin-top: 0 !important; }
  .cg-home-hero__grid .cg-hero-secondary-links { grid-row: 4; }
  .cg-home-hero__grid .cg-hero-secondary-links .cg-hero-sector-link { grid-row: auto; }
  .cg-home-hero__grid { row-gap: 24px !important; }
  .cg-media-caption { flex-direction: column; align-items: center; gap: 4px; padding: 16px 20px; text-align: center; }

  /* A continuous header between the React and editorial templates. */
  .site-header .header-shell { min-height: 72px; padding: 10px 20px; gap: 12px; }
  .site-header .brand { width: 140px; }
  .site-header .header-cta { display: inline-flex; min-height: 48px; padding: 10px 12px; font-size: 14px; line-height: 1.4; margin-left: auto; }
  .site-header .mobile-nav { flex: 0 0 44px; margin-left: 0; }
  .site-header .mobile-nav summary { display: flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 12px; list-style: none; font-size: 0; }
  .site-header .mobile-nav summary::-webkit-details-marker { display: none; }
  .site-header .mobile-nav summary::marker { content: ''; }
  .site-header .mobile-nav summary::before { content: ''; display: block; width: 20px; height: 15px; border-top: 1.5px solid #112e33; border-bottom: 1.5px solid #112e33; background: linear-gradient(#112e33,#112e33) center / 100% 1.5px no-repeat; }
  .site-header .mobile-nav[open] summary::before { height: 20px; border: 0; background: linear-gradient(45deg,transparent 46%,#112e33 47% 53%,transparent 54%),linear-gradient(-45deg,transparent 46%,#112e33 47% 53%,transparent 54%); }
  .site-header .mobile-nav nav { top: calc(100% + 14px); width: min(350px,calc(100vw - 48px)); max-height: calc(100dvh - 100px); }

  /* Long editorial titles keep hierarchy without dominating the first screen. */
  .article-hero h1 { font-size: 32px; line-height: 1.16; }
  .article-hero .intro { font-size: 16px; line-height: 1.7; margin-top: 20px; }
  .article-hero .breadcrumbs { margin-bottom: 24px; }
  .article-hero { padding-bottom: 40px; }
}

/* Max's explicit mobile art direction: one centred composition across both
   existing page systems. The repeated ID wins over the published legacy
   cascade without touching its desktop rules. Keep this scoped to phones. */
@media (max-width: 767px) {
  main#main-content#main-content#main-content { text-align: center !important; }
  main#main-content#main-content#main-content :is(h1,h2,h3,h4,h5,h6,p,figcaption,blockquote,small,label,summary,li,dt,dd,a,button,.eyebrow,.label-tag,.cg-kicker,.cg-eyebrow,.se-eyebrow,.brief-title,.byline,[class~="text-left"]) { text-align: center !important; }
  main#main-content#main-content#main-content :is(h1,h2,h3,h4,p,blockquote,figure,figcaption,[class*="max-w-"]) { margin-inline: auto !important; }
  main#main-content#main-content#main-content :is(.cg-actions,.actions,.se-actions,.cg-hero-secondary-links,.cg-product-routes,.se-related,.library-links,.launch-breadcrumbs ol,.breadcrumbs,[class~="justify-start"]) { justify-content: center !important; }
  main#main-content#main-content#main-content :is(.cg-hero-sector-link,.cg-text-link,.se-work-list a,.se-related a,.cg-directory a,.cg-knowledge-list>a,.related a) { justify-content: center !important; align-items: center !important; }
  main#main-content#main-content#main-content :is(.cg-actions a,.actions a,.se-actions a,.btn-primary,.btn-secondary,.btn-copper,.btn-copper-sm,.btn-outline,.btn-outline-dark,.cg-action-button,.cg-button,.button,.max-film-play,button[type="submit"]) { justify-content: center !important; text-align: center !important; }
  main#main-content#main-content#main-content a { justify-content: center !important; }
  main#main-content#main-content#main-content [data-faq-trigger] { position: relative; justify-content: center !important; padding-inline: 48px; }
  main#main-content#main-content#main-content [data-faq-trigger] > span:first-child { flex: 1; padding-inline: 0; }
  main#main-content#main-content#main-content [data-faq-trigger] > span[aria-hidden="true"] { position: absolute; right: 16px; top: 50%; margin-top: -12px; width: 24px; line-height: 24px; }
  main#main-content#main-content#main-content :is(.label-tag,.cg-kicker,.cg-eyebrow,.se-eyebrow,[class~="items-start"]) { justify-content: center !important; align-items: center !important; }
  main#main-content#main-content#main-content .section-heading > .flex { justify-content: center !important; }
  main#main-content#main-content#main-content .card-light > svg { margin-inline: auto; }
  main#main-content#main-content#main-content :is(ul,ol) { padding-inline-start: 0; list-style-position: inside; }
  main#main-content#main-content#main-content :is(.cg-step,.cg-result,.cg-owner-quote) { text-align: center !important; }
  main#main-content#main-content#main-content .cg-step { grid-template-columns: minmax(0,1fr); gap: 10px; }
  main#main-content#main-content#main-content :is(.cg-owner-portrait,.section-number,.cg-step__number) { margin-inline: auto; }
  main#main-content#main-content#main-content :is(.hero-brief,.article-brief,.library-hero-media figcaption,.specialist-photo figcaption) { padding-inline: 0; border-left: 0; }
  main#main-content#main-content#main-content .article-brief a { grid-template-columns: minmax(0,1fr); gap: 4px; }
  main#main-content#main-content#main-content .contents nav { justify-items: center; }
  main#main-content#main-content#main-content :is(input,textarea,select,table,th,td,pre,code) { text-align: left !important; }
  main#main-content#main-content#main-content :is(input[type="checkbox"],input[type="radio"]) { flex-shrink: 0; }
  .site-header .mobile-nav nav { text-align: center; }
  header #mobile-navigation :is(a,button) { justify-content: center; text-align: center; }
  footer,footer :is(h2,h3,h4,p,li,a,small) { text-align: center !important; }
  footer :is(.flex,[class~="flex"],nav) { justify-content: center; }
  footer [class~="items-start"] { align-items: center !important; }
  footer a { margin-inline: auto; }
  footer :is(img,p,ul,[class*="max-w-"]) { margin-inline: auto; }
  footer :is(ul,ol) { padding-inline-start: 0; list-style-position: inside; }
}
@media (max-width: 360px) {
  .site-header .header-shell { padding-inline: 12px; gap: 8px; }
  .site-header .brand { width: 118px; }
  .site-header .header-cta { font-size: 13px; }
}

/* Full-page visual follow-up: centre wrapping action and city groups,
   testimonial closing actions and utility-styled image captions on phones. */
main#main-content#main-content#main-content:has(.se-directory-grid) .se-hero figcaption {
  color: #42595c !important;
}
.cg-portfolio-gallery > figure:first-child img {
  object-position: 50% 10%;
}
@media (min-width: 761px) {
  .cg-portfolio-gallery > figure:first-child { grid-row: span 3; }
  .cg-portfolio-gallery > figure:last-child:nth-child(4) {
    grid-column: span 7;
    grid-row: span 1;
  }
}
@media (max-width: 767px) {
  main#main-content#main-content#main-content :is(.cg-case-services,.cg-resource-cta,.cg-location-group ul,.se-directory-grid ul,nav.related.shell > div) {
    justify-content: center;
  }
  main#main-content#main-content#main-content .editorial-close .close-grid > a.button {
    align-self: center;
    margin-inline: auto;
  }
  main#main-content#main-content#main-content figcaption[class~="border-l-2"] {
    border-left-width: 0;
    padding-inline: 0;
  }
  main#main-content#main-content#main-content:has(.se-directory-grid) .se-hero figcaption {
    border-left-width: 0;
    padding-inline: 0;
  }
  main#main-content#main-content#main-content .cg-portfolio-gallery > figure {
    width: 100%;
    margin-inline: 0 !important;
  }
}
@media (max-width: 760px) {
  main#main-content#main-content#main-content .cg-portfolio-gallery > figure:last-child:nth-child(4) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - 14px) / 2);
  }
}

/* A compact contact dock. Existing reveal state, consent and destinations remain authoritative. */
html:root:root:root body .cg-contact-bar{left:16px!important;right:16px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:740px!important;margin-inline:auto!important;border:1px solid #d6e2df!important;border-radius:12px!important;background:#fff!important;box-shadow:0 4px 22px #183d3524!important}
html:root:root:root body .cg-contact-bar__inner{padding:6px!important;gap:18px!important;max-width:none!important}
html:root:root:root body .cg-contact-bar__intro{padding-left:12px!important}
html:root:root:root body .cg-contact-bar__intro strong{font-size:14px!important}
html:root:root:root body .cg-contact-bar__intro span{font-size:12px!important}
html:root:root:root body .cg-contact-bar__actions{grid-template-columns:auto auto auto!important;gap:5px!important}
html:root:root:root body .cg-contact-bar__action{min-height:44px!important;min-width:64px!important;padding:10px 13px!important;border-radius:7px!important;font-size:14px!important;gap:7px!important;flex-direction:row!important;box-shadow:none!important}
html:root:root:root body .cg-contact-bar__action svg{width:18px!important;height:18px!important}
html:root:root:root body .cg-contact-bar__call,html:root:root:root body .cg-contact-bar__whatsapp{background:#fff!important;color:#245b58!important;border-color:transparent!important}
html:root:root:root body .cg-contact-bar__call:hover,html:root:root:root body .cg-contact-bar__whatsapp:hover{background:#edf4f1!important}
html:root:root:root body .cg-contact-bar .cg-contact-bar__message{background:#245b58!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#245b58!important}
@media(max-width:900px){html:root:root:root body .cg-contact-bar{left:8px!important;right:8px!important;max-width:396px!important;bottom:max(8px,env(safe-area-inset-bottom))!important}html:root:root:root body .cg-contact-bar__intro{display:none!important}html:root:root:root body .cg-contact-bar__actions{grid-template-columns:.72fr 1fr 1.15fr!important}html:root:root:root body .cg-contact-bar__inner{padding:5px!important}html:root:root:root body .cg-contact-bar__action{font-size:13px!important;padding:9px 6px!important;gap:5px!important}}
/* Text-led sector openings keep useful information and a clear next step in the foreground. */
html:root:root:root body main#main-content .cg-text-hero .hero-grid{display:block!important;max-width:960px!important;margin-inline:auto!important}
html:root:root:root body main#main-content .cg-text-hero .hero-grid>div{max-width:960px!important;margin-inline:auto!important}
html:root:root:root body main#main-content .cg-text-hero h1{max-width:20ch!important;margin-inline:auto!important}
html:root:root:root body main#main-content .cg-text-hero .intro{max-width:72ch!important;margin-inline:auto!important}
html:root:root:root body main#main-content .cg-text-hero .actions{justify-content:center!important}
html:root:root:root body main#main-content .cg-text-hero{text-align:center!important}
/* Explicitly selected explanatory groups. Choice cards, forms and navigation retain their boundaries. */
html:root:root:root body main#main-content .cg-service-notes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 40px!important}
html:root:root:root body main#main-content .cg-service-notes>article{display:block!important;background:transparent!important;border:0!important;border-top:1px solid #bfceca!important;border-radius:0!important;box-shadow:none!important;padding:22px 0!important;height:auto!important;transform:none!important}
html:root:root:root body main#main-content .cg-service-notes>article>div:first-child:not(:has(*)){display:none!important}
html:root:root:root body main#main-content .cg-service-notes>article h3{margin-top:0!important}
html:root:root:root body main#main-content .cg-service-notes>article p{margin-bottom:0!important;max-width:65ch!important}
@media(max-width:767px){html:root:root:root body main#main-content .cg-service-notes{grid-template-columns:minmax(0,1fr)!important;gap:0!important}html:root:root:root body main#main-content .cg-service-notes>article{padding:20px 0!important}}
