/* Phase 1.0.5: final editorial polish. No new libraries or ACF fields. */
:root {
  --ia-divider-readable: #4d4944;
  --ia-link-muted: #bdb7af;
  --ia-link-gold: #d6a66d;
}
/* Increase differentiation between separate projects without introducing cards. */
.project, .hub-project { border-bottom: 1px solid var(--ia-divider-readable); }
.project__index, .hub-project__index { border-right-color: var(--ia-divider-readable); }
.work__head, .hub-list, .work { border-bottom-color: var(--ia-divider-readable); }
.project, .hub-project { transition: background-color 220ms ease; }
.project__name, .hub-project__name { transition: color 220ms ease, transform 220ms ease; }
@media (hover: hover) and (pointer: fine) {
  .project:hover .project__name, .hub-project:hover .hub-project__name { transform: translateX(3px); }
}
/* Make purposeful navigation unmistakably legible. */
.cs-nav__dir, .cs-nav__label, .cs-nav__item, .cs-back, .link-accent,
.footer__links a, .contact-strip__linkedin { color: var(--ia-link-muted); }
.cs-nav__item:hover .cs-nav__dir, .cs-nav__item:focus-visible .cs-nav__dir,
.footer__links a:hover, .contact-strip__linkedin:hover { color: var(--ia-link-gold); }
.cs-nav__title { color: #e7e1d9; }
.cs-nav__item { transition: background-color 220ms ease, color 220ms ease; }
.cs-nav__item:focus-visible, .project:focus-visible, .hub-project:focus-visible,
.contact-strip a:focus-visible, .footer__links a:focus-visible,
.cs-enquiry a:focus-visible { outline: 2px solid var(--ia-link-gold); outline-offset: -3px; }
/* Space section headings from their actual content rather than increasing overall page length. */
.cs-section { row-gap: 26px; }
.cs-section__label { line-height: 1.55; }
.cs-section__text, .cs-outcome-content, .cs-decisions, .cs-retrospective { min-width: 0; }
.cs-outcome-highlight__text { color: #c5bfb7; }
.cs-decision__text { color: #c9c3bc; }
/* Contact: plain availability text with NO leading dot or pseudo-element. */
.contact-strip__availability {
  color: #c2bbb2; font-size: .875rem; line-height: 1.6;
  margin: 0 0 22px; letter-spacing: .005em;
}
.contact-strip__availability::before { content: none !important; }
.contact-strip__email { color: #ece6de; overflow-wrap: anywhere; }
.contact-strip__linkedin { color: #d6a66d; }
.contact-strip__email, .contact-strip__linkedin { transition: color 200ms ease, text-decoration-color 200ms ease; }
.contact-strip__email:hover, .contact-strip__email:focus-visible { color: #d6a66d; }
.contact-strip__linkedin:hover, .contact-strip__linkedin:focus-visible { color: #f0cfaa; }
.cs-enquiry { margin: 0; padding: 26px max(20px, 4vw); border-top: 1px solid var(--ia-divider-readable); }
.cs-enquiry a { color: #d6a66d; font-size: 1rem; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; transition: color 200ms ease, text-decoration-color 200ms ease; }
.cs-enquiry a:hover, .cs-enquiry a:focus-visible { color: #f0cfaa; text-decoration-color: currentColor; }
.cs-enquiry a span { display: inline-block; transition: transform 200ms ease; }
@media (hover: hover) and (pointer: fine) { .cs-enquiry a:hover span { transform: translate(2px,-2px); } }
@media (max-width: 1024px) {
  .project, .hub-project { border-bottom-color: #59534c; }
  .cs-nav__dir, .cs-nav__label, .cs-nav__item, .footer__links a { color: #c2bbb3; }
}
@media (max-width: 768px) {
  .cs-section { row-gap: 20px; }
  .cs-section__label { display: block; margin-bottom: 20px; }
  .cs-section__text { line-height: 1.7; }
  .cs-enquiry { padding: 24px 20px; }
  .cs-enquiry a { display: inline-block; padding: 8px 0; }
  .contact-strip__availability { font-size: .9375rem; margin-bottom: 18px; }
  .contact-strip__email, .contact-strip__linkedin { min-height: 44px; display: inline-flex; align-items: center; }
  .cs-nav__dir { font-size: .9375rem; }
}
@media (prefers-reduced-motion: reduce) {
  .project, .hub-project, .project__name, .hub-project__name,
  .cs-nav__item, .contact-strip__email, .contact-strip__linkedin,
  .cs-enquiry a, .cs-enquiry a span { transition: none !important; transform: none !important; }
}

/* v1.0.6 — coherent editorial dividers, contact composition and fluid layout.
   Loaded last; existing page templates and ACF values remain intact. */
:root {
  --ia-divider-readable: #303030;
  --ia-divider-soft: #242424;
  --ia-reading-width: 68ch;
}
/* Remove the overly bright 1.0.5 project outlines. Keep all project and
   structural separators from the same family, not competing greys. */
.project, .hub-project { border-bottom: 1px solid var(--ia-divider-readable); }
.project__index, .hub-project__index, .project__info, .hub-project__info,
.project__thumb, .hub-project__thumb { border-right-color: var(--ia-divider-readable); }
.work__head, .hub-list, .work, .cs-enquiry { border-bottom-color: var(--ia-divider-readable); border-top-color: var(--ia-divider-readable); }
.work__head, .hub-header, .cs-section, .about-body__break,
.about-body__break + .about-body__text { border-color: var(--ia-divider-readable); }

/* Contact: group availability with its headline; bring actions into a measured
   right column instead of leaving them isolated at the outside edge. */
.contact-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(250px, .85fr);
  align-items: center;
  column-gap: clamp(32px, 5vw, 96px);
  row-gap: 26px;
  padding-block: clamp(48px, 5vw, 84px);
}
.contact-strip__left { min-width: 0; max-width: 760px; }
.contact-strip__label {
  color: #cda06b;
  margin-bottom: clamp(16px, 2vw, 27px);
  font-size: .8125rem;
  letter-spacing: .12em;
}
.contact-strip__headline {
  font-size: clamp(1.85rem, 2.6vw, 2.85rem);
  line-height: 1.27;
  letter-spacing: -.025em;
  max-width: 24ch;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.contact-strip__availability {
  margin: clamp(18px, 2.6vw, 30px) 0 0;
  color: #bfb8af;
  font-size: clamp(.9375rem, 1.05vw, 1.0625rem);
  line-height: 1.6;
  letter-spacing: 0;
}
.contact-strip__availability::before { content: none !important; }
.contact-strip__right {
  display: flex;
  align-items: stretch;
  justify-self: stretch;
  flex-shrink: 1;
  gap: 0;
  max-width: 390px;
  width: 100%;
  border-top: 1px solid var(--ia-divider-readable);
}
.contact-strip__right a {
  display: flex;
  align-items: center;
  min-height: 60px;
  padding: 14px 0;
  font-size: clamp(.9375rem, 1.2vw, 1.125rem);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.contact-strip__right a + a { border-top: 1px solid var(--ia-divider-readable); }
.contact-strip__email { color: #e8e2da; letter-spacing: 0; }
.contact-strip__linkedin { color: #d6a66d; letter-spacing: .01em; }

/* Responsive measure and fluid typography: use CSS viewport/zoom, not device DPI. */
.hero__h1-a, .hero__h1-b, .hero__h1-c { overflow-wrap: normal; }
.cs-section__text, .about-body__text, .cs-decision__text { max-width: var(--ia-reading-width); }
.cs-section__label, .about-body__break-label { line-height: 1.5; }
.cs-section { row-gap: clamp(24px, 2.3vw, 36px); }
.cs-section__text, .cs-outcome-content, .cs-decisions { min-width: 0; }
.project__name, .hub-project__name, .cs-header__title,
.about-header__title { overflow-wrap: break-word; }
.cs-image-group, .cs-image-group--breakout, .cs-image { max-width: 100%; min-width: 0; }
.cs-image img, .cs-image-group img { max-width: 100%; height: auto; }
.cs-nav__item, .footer__links a, .contact-strip__right a { -webkit-tap-highlight-color: transparent; }
.cs-nav__dir, .cs-nav__label, .cs-back, .footer__links a { color: #bbb4ac; }
@media (hover: hover) and (pointer: fine) {
  .contact-strip__right a:hover { color: #edc18b; }
}
@media (max-width: 1024px) {
  .project, .hub-project { border-bottom-color: var(--ia-divider-readable); }
  .contact-strip { grid-template-columns: minmax(0, 1.5fr) minmax(220px, 1fr); }
  .contact-strip__headline { font-size: clamp(1.8rem, 3vw, 2.35rem); }
}
@media (max-width: 768px) {
  .contact-strip { grid-template-columns: minmax(0,1fr); padding: clamp(36px, 7vw, 58px) 20px; gap: clamp(24px, 5vw, 36px); }
  .contact-strip__headline { font-size: clamp(1.65rem, 5vw, 2.25rem); max-width: 27ch; }
  .contact-strip__availability { margin-top: 20px; font-size: 1rem; }
  .contact-strip__right { justify-self: start; max-width: 100%; }
  .contact-strip__right a { width: 100%; min-height: 52px; font-size: 1rem; }
  .cs-section { row-gap: 0; }
  .cs-section__label { margin-bottom: clamp(18px, 4vw, 26px); }
  .cs-section__text, .cs-decision__text, .about-body__text { font-size: 1.0625rem; line-height: 1.7; }
  .cs-image-group, .cs-image-group--breakout { grid-template-columns: minmax(0,1fr); }
  .footer__links a { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (max-width: 380px) {
  .contact-strip { padding-inline: 18px; }
  .contact-strip__headline { font-size: clamp(1.6rem, 7vw, 1.85rem); }
  .hero__h1-a, .hero__h1-b, .hero__h1-c { font-size: clamp(2.25rem, 10vw, 2.75rem); }
}
@media (prefers-reduced-motion: reduce) {
  .contact-strip__right a { transition: none !important; }
}
