/* Staging-only, scoped by PHP to the generated homepage and inquiry pages. */
.flairko-page-refresh { --flairko-ink: #183a30; }
.flairko-page-refresh .flairko-clean-header {
  max-width: 1160px; margin: 0 auto; padding: 1.4rem clamp(1rem, 4vw, 3rem);
  display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem;
  border-bottom: 1px solid #cbd1c5; color: #183a30;
}
.flairko-page-refresh .flairko-brand { font: 650 1.8rem/1.2 system-ui,sans-serif; letter-spacing: -.06em; text-decoration: none; margin-right: auto; }
.flairko-page-refresh .flairko-clean-header nav { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; font: 400 .9rem/1.5 system-ui,sans-serif; }
.flairko-page-refresh .flairko-clean-header nav a { text-underline-offset: .25em; padding-block: .5rem; }
.flairko-page-refresh .flairko-language-nav a[aria-current="page"] { font-weight: 700; text-decoration-thickness: 2px; }
/* Pending next release: slightly denser inquiry layout, with mobile-sized targets. */
.flairko-page-refresh:not(.flairko-home-refresh) .flairko-inquiry-preview {
  font-size: .95rem;
  line-height: 1.55;
  padding: clamp(1rem, 3vw, 1.75rem) !important;
}
.flairko-page-refresh:not(.flairko-home-refresh) .flairko-inquiry-preview h2 {
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  line-height: 1.2;
}
.flairko-page-refresh:not(.flairko-home-refresh) .flairko-inquiry-preview :is(input:not([type="hidden"]), select, textarea) {
  font-size: 1rem !important;
  line-height: 1.4 !important;
  padding: .6rem .7rem !important;
  min-height: 44px;
}
.flairko-page-refresh:not(.flairko-home-refresh) .flairko-inquiry-preview [role="group"] > div {
  margin-block: .8rem !important;
}
.flairko-page-refresh:not(.flairko-home-refresh) .flairko-inquiry-preview button {
  font-size: 1rem !important;
  padding: .65rem 1.1rem !important;
  min-height: 44px;
}
.flairko-home-refresh .wp-block-post-content { font-size: 1rem; line-height: 1.65; }
.flairko-home-refresh .wp-block-post-content h1,
.flairko-home-refresh .wp-block-post-content h2,
.flairko-home-refresh .wp-block-post-content h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.025em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.flairko-home-refresh .wp-block-post-content h1 { font-size: clamp(2rem, 4.1vw, 3.6rem); }
.flairko-home-refresh .wp-block-post-content h2 { font-size: clamp(1.6rem, 3vw, 2.35rem); }
.flairko-home-refresh .wp-block-post-content h3 { font-size: clamp(1.3rem, 2.1vw, 1.65rem); }
.flairko-home-refresh .wp-block-post-content p { font-size: 1rem; line-height: 1.65; word-break: normal; overflow-wrap: break-word; hyphens: none; }
.flairko-home-refresh .wp-block-post-content > .wp-block-group { max-width: 1160px; margin: 1.5rem auto; }
.flairko-home-refresh .wp-block-columns { gap: clamp(1.25rem, 3vw, 3rem); }
.flairko-home-refresh .wp-block-column { min-width: 0; }
.flairko-home-refresh .wp-block-button__link { font-size: 1rem; line-height: 1.4; padding: .85rem 1.3rem; border-radius: 4px; }
.flairko-home-refresh .flairko-art-panel {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: clamp(280px, 32vw, 420px);
  border-radius: 180px 180px 6px 6px !important;
  display: flex; align-items: flex-end;
}
.flairko-home-refresh .flairko-art-panel::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 85%; aspect-ratio: 1; left: 7.5%; top: 12%;
  background: repeating-radial-gradient(circle at center, transparent 0 27px, #9aac90 28px 29px, transparent 30px 57px);
  border-radius: 50%; opacity: .65;
}
.flairko-home-refresh .flairko-art-panel h2 { font-size: clamp(1.4rem, 2.2vw, 1.8rem); font-style: italic; max-width: 18ch; margin-top: auto; }
.flairko-page-refresh .flairko-clean-footer { max-width: 1160px; margin: 3rem auto 0; padding: 2rem clamp(1rem, 4vw, 3rem); border-top: 1px solid #cbd1c5; color: #183a30; font-size: .9rem; }
.flairko-page-refresh .flairko-clean-footer nav { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; }
.flairko-page-refresh .flairko-clean-footer p { margin: 1rem 0; font-size: .9rem; }
.flairko-page-refresh .flairko-footer-note { color: #526358; }
.flairko-page-refresh a:focus-visible, .flairko-page-refresh button:focus-visible { outline: 3px solid #a54c24; outline-offset: 4px; }
@media (max-width: 781px) {
  .flairko-page-refresh .flairko-clean-header { gap: .65rem 1.25rem; }
  .flairko-home-refresh .wp-block-columns { flex-wrap: wrap !important; }
  .flairko-home-refresh .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .flairko-home-refresh .wp-block-post-content > .wp-block-group { padding: 1.25rem !important; }
  .flairko-home-refresh .flairko-art-panel { min-height: 260px; max-width: 440px; margin-inline: auto; }
  .flairko-home-refresh .wp-block-post-content > .wp-block-group .wp-block-group { padding-inline: 1.25rem !important; }
}

/* Error notices use weight, a border and contrast so color is not the only cue. */
.flairko-inquiry-preview [role="alert"] {
  color: #8b1e1e;
  background: #fff1f0;
  border: 1px solid #d49a96;
  border-inline-start: 4px solid #a32b25;
  border-radius: 4px;
  padding: .85rem 1rem;
  margin-block: 1rem;
  font-weight: 700;
  line-height: 1.55;
}

/* Privacy pages share the site's editorial type and a comfortable reading width. */
.flairko-privacy-refresh {
  color: #183a30;
}
.flairko-privacy-refresh .wp-block-post-title,
.flairko-privacy-refresh .wp-block-post-content {
  box-sizing: border-box;
  width: 100%;
  max-width: 48rem;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2rem);
}
.flairko-privacy-refresh .wp-block-post-title,
.flairko-privacy-refresh .wp-block-post-content :is(h1, h2, h3, h4) {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.02em;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
.flairko-privacy-refresh .wp-block-post-title,
.flairko-privacy-refresh .wp-block-post-content h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.flairko-privacy-refresh .wp-block-post-content h2 { font-size: clamp(1.4rem, 2.8vw, 1.8rem); margin-block: 1.8rem .7rem; }
.flairko-privacy-refresh .wp-block-post-content :is(h3, h4) { font-size: clamp(1.15rem, 2.2vw, 1.4rem); margin-block: 1.5rem .6rem; }
.flairko-privacy-refresh .wp-block-post-content,
.flairko-privacy-refresh .wp-block-post-content :is(p, li) {
  font-family: system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
.flairko-privacy-refresh .wp-block-post-content :is(p, ul, ol) { margin-block: 0 1rem; }
.flairko-privacy-refresh .wp-block-post-content a { color: #183a30; text-underline-offset: .2em; overflow-wrap: anywhere; }
.flairko-privacy-refresh .wp-block-post-title { margin-block: 2rem 1.5rem; }

/* Original transparent brand artwork; CSS frames the logo's existing clear margins. */
.flairko-page-refresh .flairko-brand-logo {
  position: relative;
  display: block;
  flex: 0 0 184px;
  width: 184px;
  height: 86px;
  overflow: hidden;
}
.flairko-page-refresh .flairko-brand-logo .flairko-logo-image {
  position: absolute;
  display: block;
  width: 184px;
  height: 184px;
  max-width: none;
  inset: -50px auto auto 0;
}
.flairko-page-refresh .flairko-clean-footer .flairko-footer-identity {
  display: flex;
  align-items: center;
  gap: .85rem;
}
.flairko-page-refresh .flairko-footer-owl {
  display: block;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  object-fit: contain;
}
@media (max-width: 480px) {
  .flairko-page-refresh .flairko-brand-logo { flex-basis: 154px; width: 154px; height: 72px; }
  .flairko-page-refresh .flairko-brand-logo .flairko-logo-image { width: 154px; height: 154px; top: -42px; }
}

/* Dedicated home shell prevents inherited front-page content from taking over. */
body.flairko-home-refresh { margin:0; background:#f7f5ee; color:#183a30; font-family:system-ui,sans-serif; }
.flairko-home-refresh .wp-block-post-content { padding-inline:clamp(1rem,4vw,3rem); }
.flairko-home-skip { position:absolute; left:1rem; top:-100px; padding:.7rem; background:#fff; color:#183a30; z-index:1000; }
.flairko-home-skip:focus { top:1rem; }
.flairko-home-refresh a:focus-visible { outline:3px solid #a05c29; outline-offset:4px; }
