/* W6 institutional presentation reuses W2 tokens and the W1 mode resolver. */
.cic-institutional,
.cic-institutional-section {
  margin-block: 0;
}

.cic-institutional-section {
  padding-block: clamp(2rem, 3.34vw, 3rem);
}

.cic-institutional :where(h2, h3, p):first-child {
  margin-block-start: 0;
}

.cic-institutional h2 {
  font-size: var(--wp--custom--cic--home--heading);
  line-height: 1.2;
}

.cic-institutional p {
  max-inline-size: 65ch;
}

.cic-institutional-hero h1 {
  margin-block: 0 1.5rem;
  max-inline-size: 18ch;
  font-size: clamp(2.5rem, 4.45vw, 4rem);
}

.cic-main:has(.cic-institutional) {
  padding-block: clamp(2rem, 3.34vw, 3rem);
}

.cic-institutional-hero {
  align-items: center;
}

.cic-institutional-hero,
.cic-institutional-split,
.cic-contact-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wp--custom--cic--home--split-gap);
  align-items: start;
}

.cic-institutional-section > *,
.cic-contact-panel > * {
  min-inline-size: 0;
}

.cic-institutional-media {
  min-block-size: clamp(14rem, 35vw, 28rem);
  background: var(--cic-color-elevated);
  border-radius: var(--wp--custom--cic--home--radius);
  overflow: hidden;
}

.cic-institutional-media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

/*
 * The Contact page photo keeps the hero frame exactly as reserved (5:4, same radius and size): it covers the
 * frame from the centre. Its inline maximum is its own pixel size, so a small photo is centred, never enlarged.
 */
.cic-contact-visual img {
  position: absolute;
  inset: 0;
  margin: auto;
}

/*
 * À propos: the approved text alone, read as an institutional statement. The first paragraph opens
 * as the lead; the measure stays at 65 characters and no image or decorative frame is required.
 */
.cic-about-text {
  padding-block-start: clamp(1.5rem, 3vw, 2.5rem);
  border-block-start: 1px solid var(--cic-color-border);
}

.cic-about-text > p {
  margin-block: 0;
  line-height: 1.75;
}

.cic-about-text > p + p {
  margin-block-start: 1.25rem;
}

.cic-about-text > p:first-child {
  font-size: clamp(1.125rem, 1.6vw, 1.3125rem);
  line-height: 1.6;
  color: var(--cic-color-text-primary);
}

.cic-about-text > p:not(:first-child) {
  color: var(--cic-color-text-secondary);
}

.cic-institutional-statement {
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--cic-color-elevated);
  border-inline-start: .25rem solid var(--cic-color-action-primary);
  border-radius: var(--wp--custom--cic--home--radius);
}

.cic-institutional-process {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: var(--wp--custom--cic--home--gap);
  padding: 0;
  list-style: none;
}

.cic-institutional-process > li {
  padding: 1.25rem;
  background: var(--cic-color-surface);
  border: 1px solid var(--cic-color-border);
  border-radius: var(--wp--custom--cic--home--radius);
}

.cic-contact-list {
  margin: 0;
}

.cic-contact-item {
  display: grid;
  grid-template-columns: minmax(7rem, .75fr) minmax(0, 2fr);
  gap: 1rem;
  padding-block: 1rem;
  border-block-end: 1px solid var(--cic-color-border);
}

.cic-contact-item dt,
.cic-enquiry-boundary legend {
  font-weight: 700;
}

.cic-contact-item dd {
  margin: 0;
}

.cic-enquiry-panel {
  padding: clamp(1rem, 3vw, 2rem);
  background: var(--cic-color-surface);
  border: 1px solid var(--cic-color-border);
  border-radius: var(--wp--custom--cic--home--radius);
}

.cic-notice {
  padding: 1rem;
  border-inline-start: .25rem solid var(--cic-color-warning);
  background: var(--cic-color-elevated);
}

.cic-enquiry-boundary fieldset {
  display: grid;
  gap: .75rem;
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.cic-enquiry-boundary label {
  margin-block-start: .5rem;
  font-size: .875rem;
  font-weight: 600;
}

.cic-form-field {
  display: grid;
  gap: .5rem;
  min-inline-size: 0;
}

.cic-enquiry-boundary :where(input, select, textarea) {
  inline-size: 100%;
  border-radius: .375rem;
}

.cic-enquiry-boundary :disabled {
  opacity: .72;
}

.cic-checkbox {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
}

.cic-checkbox input {
  inline-size: 1.5rem;
  block-size: 1.5rem;
}

.cic-legal-content {
  max-inline-size: 65ch;
}

.cic-legal-content :where(h2, h3) {
  margin-block-start: 2em;
}

.cic-footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: var(--wp--custom--cic--home--split-gap);
}

.cic-nav-menu {
  display: contents;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 64rem) {
  .cic-enquiry-boundary fieldset {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cic-enquiry-boundary fieldset > :not(.cic-form-field) {
    grid-column: 1 / -1;
  }

  .cic-contact-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cic-institutional-hero,
  .cic-institutional-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cic-institutional-split.is-style-reverse > :first-child {
    order: 2;
  }
}
