/* Local retained-layout adaptation, not exact Alex parity. Stable selectors
   captured on the contained public-template specimens, 18 September 2026.
   No generated block IDs, menu visibility/stacking overrides or booking-widget rules. */
@font-face {
  font-family: 'JG02 Jost';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/jost-latin-italic-800-f5565ea0a661.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.jg02-presentation-rehearsal {
  --jg02-navy: #00215e;
  --jg02-blue: #05acf2;
  --jg02-white: #ffffff;
  --jg02-line: #d9e3ec;
}

body.jg02-presentation-rehearsal .wp-site-blocks > header.wp-block-template-part {
  background: var(--jg02-white);
  border-bottom: 1px solid var(--jg02-line);
}

body.jg02-presentation-rehearsal header.wp-block-template-part .custom-logo-link img {
  height: auto;
  max-width: 100%;
}

body.jg02-presentation-rehearsal header.wp-block-template-part .wp-block-navigation-item__content {
  color: var(--jg02-navy);
  font-weight: 650;
  text-underline-offset: 0.3em;
}

body.jg02-presentation-rehearsal header.wp-block-template-part .wp-block-navigation-item__content:hover {
  text-decoration: underline;
  text-decoration-color: var(--jg02-blue);
  text-decoration-thickness: 2px;
}

/* These two native links have inline colour settings; scope overrides exactly. */
body.jg02-presentation-rehearsal header.wp-block-template-part a.wp-block-button__link[href="tel:131546"] {
  background: var(--jg02-white) !important;
  color: var(--jg02-navy) !important;
  font-weight: 800;
}

body.jg02-presentation-rehearsal header.wp-block-template-part a.wp-block-button__link[href="#jims"] {
  background: var(--jg02-navy) !important;
  border-radius: 999px;
  color: var(--jg02-white) !important;
  font-weight: 800;
}

body.jg02-presentation-rehearsal header.wp-block-template-part a.wp-block-button__link {
  box-sizing: border-box;
  min-height: 44px;
}

body.jg02-presentation-rehearsal header.wp-block-template-part a:focus-visible,
body.jg02-presentation-rehearsal header.wp-block-template-part button:focus-visible,
body.jg02-presentation-rehearsal footer.wp-block-template-part a:focus-visible {
  outline: 3px solid var(--jg02-navy);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--jg02-white);
}

body.jg02-presentation-rehearsal .wp-site-blocks > footer.wp-block-template-part {
  border-top: 8px solid var(--jg02-blue);
}

/* Counter only the observed legacy negative-margin/translucent footer treatment.
   No specificity override is claimed effective until the real staging rehearsal. */
body.jg02-presentation-rehearsal footer.wp-block-template-part .jims-glass-footer {
  background-color: var(--jg02-white) !important;
  border-radius: 0;
  margin-top: 0 !important;
}

/* Shared header: preserve native navigation and every destination. */
body.jg02-presentation-rehearsal header.wp-block-template-part > .wp-block-group {
  padding-block: 12px !important;
}

body.jg02-presentation-rehearsal header.wp-block-template-part .wp-block-group.alignwide {
  box-sizing: border-box;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: clamp(20px, 3vw, 40px);
  gap: 24px;
}

body.jg02-presentation-rehearsal header.wp-block-template-part .custom-logo-link img {
  width: clamp(68px, 7vw, 88px);
}

body.jg02-presentation-rehearsal header.wp-block-template-part a.wp-block-button__link {
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--jg02-navy);
}

/* Increase the observed 24px menu controls without owning open/close state. */
body.jg02-presentation-rehearsal header.wp-block-template-part .wp-block-navigation__responsive-container-open,
body.jg02-presentation-rehearsal header.wp-block-template-part .wp-block-navigation__responsive-container-close {
  min-width: 44px;
  min-height: 44px;
}

/* 0.3.1 local successor: measured 375px closed-launcher clearance only.
   Literal physical padding; no custom-property, focus, widget or scroll-padding change. */
body.jg02-presentation-rehearsal.jg02-mobile-nav-chat-clearance header.wp-block-template-part .jims-glass-menu .wp-block-navigation__responsive-container.is-menu-open {
  padding-block-end: calc(16px + 53px) !important;
}

/* Retained Jim section containers: no content insertion, reorder or cropping. */
body.jg02-presentation-rehearsal .wp-block-post-content .jims-section__content {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px !important;
  margin-inline: auto;
  padding-inline: clamp(22px, 4vw, 40px);
}

body.jg02-presentation-rehearsal .wp-block-post-content .jims-section__content .wp-block-columns {
  gap: clamp(24px, 4vw, 56px);
}

body.jg02-presentation-rehearsal .wp-block-post-content .jims-section__content h2 {
  font-family: 'JG02 Jost', Rubik, sans-serif;
  font-size: clamp(28px, 3.4vw, 46px) !important;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin-block: 0 24px;
  text-wrap: balance;
}

body.jg02-presentation-rehearsal .wp-block-post-content .jims-section__content p {
  font-size: 16px;
  line-height: 1.72;
  max-width: 75ch;
  margin-block: 0 20px;
}

body.jg02-presentation-rehearsal .wp-block-post-content .jims-block-buttons-front {
  flex-wrap: wrap;
  gap: 14px !important;
  margin-top: 28px;
}

body.jg02-presentation-rehearsal .wp-block-post-content .jims-block-buttons-front .jims-block-button > a,
body.jg02-presentation-rehearsal .wp-block-post-content .jims-block-buttons-front .jims-block-button > button {
  min-height: 44px;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
}

body.jg02-presentation-rehearsal .wp-block-post-content .jims-block-buttons-front a:focus-visible,
body.jg02-presentation-rehearsal .wp-block-post-content .jims-block-buttons-front button:focus-visible {
  outline: 3px solid var(--jg02-navy);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px var(--jg02-white);
}

/* Home hero keeps the real photo, H1, copy and two original actions. */
body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-section:has(h1) .bg-overlay {
  background: linear-gradient(90deg, #edf7fc 0%, #edf7fce8 35%, #edf7fc00 76%) !important;
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-effect-bg {
  background: #fffffff2;
  border: 1px solid var(--jg02-line) !important;
  border-radius: 28px !important;
  padding: clamp(24px, 3vw, 40px) !important;
  box-shadow: 0 18px 60px #00215e12;
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-effect-bg h1 {
  font-family: 'JG02 Jost', Rubik, sans-serif;
  color: var(--jg02-navy) !important;
  font-size: clamp(38px, 4.2vw, 64px) !important;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.04;
  margin: 0 0 26px;
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-effect-bg p {
  color: #34445d !important;
  font-size: 18px;
  line-height: 1.65;
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-effect-bg .jims-block-buttons-front > .common-base {
  background: var(--jg02-navy) !important;
  border-color: var(--jg02-navy) !important;
  color: var(--jg02-white) !important;
}

/* Six saved service cards. Preserve their native grid/order and image ratios. */
body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-services {
  gap: 28px !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-services > .wp-block-group {
  background: var(--jg02-white) !important;
  border: 1px solid var(--jg02-line);
  border-radius: 24px;
  box-shadow: 0 12px 32px #00215e0a;
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-services > .wp-block-group > .wp-block-group {
  border-radius: 0 0 24px 24px;
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-services .wp-block-image {
  margin: 0;
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-services .wp-block-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 22px 22px 0 0;
}

body.jg02-presentation-rehearsal.jg02-home-presentation .wp-block-post-content .jims-glass-services h3 {
  color: var(--jg02-navy);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

/* Bathroom's saved banner and editorial images, not trust/payment/widget media. */
body.jg02-presentation-rehearsal.jg02-bathroom-presentation .wp-block-post-content .glass-hero-section {
  background: #e9f8fe;
  border-radius: 0;
}

body.jg02-presentation-rehearsal.jg02-bathroom-presentation .wp-block-post-content .glass-hero-section > .jims-section-container-wrap {
  padding-block: clamp(36px, 5vw, 70px) !important;
  background: linear-gradient(120deg, #f7fcff, #e9f8fe) !important;
  border-radius: 0;
}

body.jg02-presentation-rehearsal.jg02-bathroom-presentation .wp-block-post-content .glass-hero-section h1 {
  font-family: 'JG02 Jost', Rubik, sans-serif;
  color: var(--jg02-navy) !important;
  font-size: clamp(38px, 5vw, 72px) !important;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
}

body.jg02-presentation-rehearsal.jg02-bathroom-presentation .wp-block-post-content .wp-block-columns:has(> .wp-block-column + .wp-block-column) > .wp-block-column > .wp-block-image.aligncenter.size-full:not(.is-resized) img {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 16px 40px #00215e14;
}

/* Shared retained footer: content/column order and social links are unchanged. */
body.jg02-presentation-rehearsal footer.wp-block-template-part .jims-glass-footer .jims-section__content {
  box-sizing: border-box;
  max-width: 1240px !important;
  margin-inline: auto;
  padding: clamp(36px, 5vw, 72px) clamp(22px, 4vw, 40px);
}

body.jg02-presentation-rehearsal footer.wp-block-template-part .jims-glass-footer .wp-block-columns:not(.are-vertically-aligned-center) > .wp-block-column > p:first-child {
  color: var(--jg02-navy) !important;
  font-size: 20px !important;
  font-weight: 800;
  font-style: italic;
  line-height: 1.2;
}

body.jg02-presentation-rehearsal footer.wp-block-template-part .jims-glass-footer a {
  color: #34445d !important;
  font-size: 15px !important;
  font-style: normal;
  font-weight: 500;
  line-height: 1.7;
  text-underline-offset: 0.2em;
}

/* Public pages share the inspected saved hero and service-directory classes.
   Original section backgrounds, photos, card inventory and link order remain. */
body.jg02-presentation-rehearsal.jg02-page-presentation .wp-block-post-content .glass-hero-section h1 {
  font-family: 'JG02 Jost', Rubik, sans-serif;
  font-size: clamp(38px, 5vw, 72px) !important;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.08;
  text-wrap: balance;
}

body.jg02-presentation-rehearsal.jg02-page-presentation .wp-block-post-content .jims-glass-services {
  gap: 28px !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

body.jg02-presentation-rehearsal.jg02-page-presentation .wp-block-post-content .jims-glass-services > .wp-block-group {
  background: var(--jg02-white) !important;
  border: 1px solid var(--jg02-line);
  border-radius: 24px;
  box-shadow: 0 12px 32px #00215e0a;
}

body.jg02-presentation-rehearsal.jg02-page-presentation .wp-block-post-content .jims-glass-services .wp-block-image {
  margin: 0;
}

body.jg02-presentation-rehearsal.jg02-page-presentation .wp-block-post-content .jims-glass-services .wp-block-image img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 22px 22px 0 0;
}

body.jg02-presentation-rehearsal.jg02-page-presentation .wp-block-post-content .jims-glass-services h3 {
  color: var(--jg02-navy);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
}

/* Saved blog/category/search templates own their queries and pagination.
   The common section and core-query selectors below only change presentation. */
body.jg02-presentation-rehearsal.jg02-listing-presentation .wp-site-blocks > .common-base .jims-section__content {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px !important;
  margin-inline: auto;
  padding-inline: clamp(22px, 4vw, 40px);
}

body.jg02-presentation-rehearsal.jg02-listing-presentation .wp-site-blocks > .common-base h1 {
  font-family: 'JG02 Jost', Rubik, sans-serif;
  font-size: clamp(38px, 5vw, 72px) !important;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.08;
  text-wrap: balance;
}

body.jg02-presentation-rehearsal.jg02-listing-presentation .wp-block-query .wp-block-post-template {
  gap: 28px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

body.jg02-presentation-rehearsal.jg02-listing-presentation .wp-block-query .wp-block-post-template > .wp-block-post {
  background: var(--jg02-white);
  border: 1px solid var(--jg02-line);
  border-radius: 22px;
  padding-block: 18px;
  box-shadow: 0 12px 32px #00215e0a;
}

body.jg02-presentation-rehearsal.jg02-listing-presentation .wp-block-query .wp-block-post-title {
  font-size: clamp(23px, 2.2vw, 30px) !important;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

body.jg02-presentation-rehearsal.jg02-listing-presentation .wp-block-query .wp-block-post-title a {
  color: var(--jg02-navy);
  text-underline-offset: 0.2em;
}

body.jg02-presentation-rehearsal.jg02-listing-presentation .wp-block-query .wp-block-post-excerpt {
  font-size: 16px;
  line-height: 1.72;
}

body.jg02-presentation-rehearsal.jg02-listing-presentation .wp-block-query-pagination {
  gap: 18px;
  margin-block: 32px;
}

/* Single article content and related query stay intact; title remains white
   on its original cover. No forced media cropping or related-post selection. */
body.jg02-presentation-rehearsal.jg02-article-presentation .wp-site-blocks > .wp-block-cover {
  background-color: var(--jg02-navy);
}

body.jg02-presentation-rehearsal.jg02-article-presentation .wp-site-blocks > .common-base .jims-section__content {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px !important;
  margin-inline: auto;
  padding-inline: clamp(22px, 4vw, 40px);
}

body.jg02-presentation-rehearsal.jg02-article-presentation .wp-block-cover h1.wp-block-post-title {
  font-family: 'JG02 Jost', Rubik, sans-serif;
  font-size: clamp(34px, 4vw, 64px) !important;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.1;
  text-wrap: balance;
}

body.jg02-presentation-rehearsal.jg02-article-presentation .blog-content-col .wp-block-post-content {
  max-width: 75ch;
  font-size: 17px;
  line-height: 1.75;
}

body.jg02-presentation-rehearsal.jg02-article-presentation .blog-content-col .wp-block-post-content p {
  margin-block: 0 22px;
}

body.jg02-presentation-rehearsal.jg02-article-presentation .blog-content-col .wp-block-post-content h2 {
  font-family: 'JG02 Jost', Rubik, sans-serif;
  font-size: clamp(28px, 3vw, 42px);
  font-style: italic;
  font-weight: 800;
  line-height: 1.1;
}
