/* One finishing layer for current TIAC pages, archives and presenter profiles.
   Keep the established .875 canvas scale and final 18px/16px reading tokens. */
.iac-tiac-page {
  --iac-tiac-space: clamp(calc(2.5rem * var(--iac-ui-scale)), calc(4.5vw * var(--iac-ui-scale)), calc(4rem * var(--iac-ui-scale)));
  --iac-tiac-radius: .5rem;
  --iac-tiac-control-line: #9b8a72;
}

/* The raised paper navigation remains static and works without a menu script. */
.iac-tiac-page .iac-tiac-organizer {
  padding-block: .5rem;
}

.iac-tiac-page .iac-tiac-nav {
  min-height: 76px;
  padding: calc(1rem * var(--iac-ui-scale)) calc(1.5rem * var(--iac-ui-scale));
  border-radius: .375rem .375rem 1rem 1rem;
  background: var(--iac-paper-raised);
  box-shadow: 0 3px 0 var(--iac-paper-shadow), 0 .5rem 1.5rem #302c2505;
}

.iac-tiac-page .iac-tiac-nav-links {
  gap: .25rem .75rem;
}

.iac-tiac-page .iac-tiac-nav-links a {
  padding: .4rem .25rem;
  border-radius: .2rem;
  text-underline-offset: .3em;
}

.iac-tiac-page .iac-tiac-nav :is(a:hover, a[aria-current]):not(.iac-tiac-header-ticket) {
  color: var(--iac-accent-hover);
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.iac-tiac-page .iac-tiac-nav a[aria-current]:not(.iac-tiac-header-ticket) {
  text-decoration-thickness: 2px;
}

.iac-tiac-page .iac-tiac-nav a:focus-visible {
  outline: 3px solid var(--iac-accent);
  outline-offset: 3px;
}

.iac-tiac-page .iac-tiac-presenter-link {
  gap: .75rem;
}

.iac-tiac-page .iac-tiac-presenter-link > a:not(.iac-tiac-header-ticket) {
  align-self: center;
  padding-bottom: 0;
  border-bottom: 0;
}

/* Hero headings share a scale, while book jackets retain their own display type. */
.iac-tiac-page :is(.iac-tiac-hero, .iac-info-hero, .iac-sponsors-hero, .iac-location-hero, .iac-schedule-hero, .iac-tiac-archive-heading, .iac-presenter-page-heading) h1 {
  font-size: max(1rem, calc(clamp(2.75rem, 5.4vw, 4.75rem) * var(--iac-ui-scale)));
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.iac-tiac-page :is(.iac-info-hero, .iac-sponsors-hero, .iac-location-hero, .iac-schedule-hero, .iac-tiac-archive-heading) {
  margin-block: var(--iac-tiac-space) !important;
}

.iac-tiac-page .iac-presenter-page-heading {
  margin-block: var(--iac-tiac-space) !important;
}

.iac-tiac-page .iac-tiac-hero {
  padding-block: var(--iac-tiac-space);
}

.iac-tiac-page :is(.iac-info-section, .iac-sponsors-section, .iac-schedule-description-section, .iac-faq-group) {
  margin-top: var(--iac-tiac-space) !important;
}

.iac-tiac-page :is(.iac-info-section, .iac-sponsors-section, .iac-location-section-heading, .iac-schedule-section-heading) h2 {
  font-size: max(1rem, calc(clamp(1.875rem, 3.4vw, 2.875rem) * var(--iac-ui-scale)));
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}

/* Consistent controls keep the quieter reading face for action labels. */
.iac-tiac-page .iac-tiac-content .wp-block-button__link,
.iac-tiac-page :is(.iac-ticket-selector button[type=submit], .iac-presenter-filters button) {
  min-height: 48px;
  border-radius: .375rem;
  font-family: Raleway, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.iac-tiac-page :is(.iac-ticket-selector input[type=number], .iac-presenter-filters input, .iac-presenter-filters select) {
  min-height: 48px;
  border-color: var(--iac-tiac-control-line);
  border-radius: .3rem;
  background: var(--iac-paper-raised);
}

.iac-tiac-page .iac-ticket-selector input[type=number] {
  font-size: var(--iac-type-body);
  line-height: 1.5;
}

/* A shared paper treatment for panels, pass comparisons and editorial cards. */
.iac-tiac-page :is(.iac-tiac-panel, .iac-tiac-chapter, .iac-info-card, .iac-ticket-option, .iac-presenter-card, .iac-presenter-profile, .iac-sponsor-card, .iac-location-travel-card, .iac-schedule-day) {
  border-radius: var(--iac-tiac-radius);
  box-shadow: 0 .25rem 1rem #302c2505;
}

.iac-tiac-page :is(.iac-tiac-panel, .iac-info-card, .iac-ticket-option, .iac-presenter-card-copy) {
  background: var(--iac-paper-raised);
}

.iac-tiac-page .iac-tiac-story {
  margin-top: calc(4.5rem * var(--iac-ui-scale)) !important;
}

.iac-tiac-page .iac-tiac-chapter + .iac-tiac-chapter {
  margin-top: calc(4.5rem * var(--iac-ui-scale)) !important;
}

.iac-tiac-page .iac-tiac-chapter::before {
  top: calc(-2.5rem * var(--iac-ui-scale));
}

.iac-tiac-page .iac-tiac-chapter-heading {
  padding: calc(2rem * var(--iac-ui-scale));
}

.iac-tiac-page .iac-tiac-chapter-copy {
  padding: calc(2rem * var(--iac-ui-scale));
}

.iac-tiac-page .iac-tiac-stat {
  background: var(--iac-paper-soft);
  border-radius: .375rem;
}

/* Keep complete photographs and responsive WordPress sources, with calmer edges. */
.iac-tiac-page .iac-conference-photo img {
  border-radius: .375rem;
}

.iac-tiac-page .iac-conference-photo figcaption {
  line-height: 1.6;
}

.iac-tiac-page .iac-tiac-editions {
  margin-top: 1rem;
  padding-block: calc(1.5rem * var(--iac-ui-scale));
}

.iac-tiac-page .iac-tiac-editions a {
  border-radius: .3rem;
  box-shadow: 2px 2px 0 var(--iac-paper-shadow);
}

.iac-tiac-page .iac-tiac-editions a[aria-current] {
  box-shadow: 2px 2px 0 var(--iac-gilt);
}

/* Lighter bookplates keep attention on the supplied portraits and biographies. */
.iac-tiac-page .iac-presenter-portrait {
  background: var(--iac-paper-soft);
}

.iac-tiac-page .iac-presenter-portrait::before {
  border-color: var(--iac-line);
}

.iac-tiac-page .iac-presenter-filters {
  border-radius: var(--iac-tiac-radius);
  background: var(--iac-paper-soft);
}

.iac-tiac-page .iac-presenter-profile-intro {
  background: var(--iac-paper-raised);
}

.iac-tiac-page .iac-presenter-profile-intro h1 {
  font-size: max(1rem, calc(clamp(2.5rem, 5vw, 4.25rem) * var(--iac-ui-scale)));
  line-height: 1.12;
  letter-spacing: -.03em;
}

.iac-tiac-page .iac-presenter-tags li {
  border-radius: .3rem;
  background: var(--iac-paper-raised);
}

.iac-tiac-page .iac-presenter-profile-body {
  background: var(--iac-paper-raised);
}

.iac-tiac-page .iac-presenter-affiliations {
  background: var(--iac-paper-soft);
}

/* Native disclosures remain readable with or without JavaScript. */
.iac-tiac-page :is(.iac-faq-item, .iac-schedule-detail) {
  border-radius: .3rem;
}

.iac-tiac-page :is(.iac-faq-item, .iac-schedule-detail) summary {
  min-height: 48px;
}

.iac-tiac-page :is(.iac-faq-item, .iac-schedule-detail)[open] {
  background: var(--iac-paper-soft);
}

/* One colophon with a light paper wash, clear current links and compact rhythm. */
.iac-tiac-page .iac-tiac-site-footer {
  margin-top: var(--iac-tiac-space) !important;
  padding-top: calc(2rem * var(--iac-ui-scale));
  background: linear-gradient(180deg, var(--iac-paper), var(--iac-paper-soft));
}

.iac-tiac-page .iac-tiac-footer-main {
  gap: calc(2rem * var(--iac-ui-scale));
  padding-bottom: calc(2rem * var(--iac-ui-scale));
}

.iac-tiac-page .iac-tiac-footer-navigation a {
  padding-inline: .25rem;
  border-radius: .2rem;
}

.iac-tiac-page .iac-tiac-footer-navigation a[aria-current] {
  color: var(--iac-accent-hover);
  text-decoration-thickness: 2px;
}

.iac-tiac-page .iac-footer-socials a {
  border-radius: .375rem;
  background: var(--iac-paper-raised);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .iac-tiac-page :is(.iac-presenter-card, .iac-info-card, .iac-ticket-option) {
    transition: box-shadow 180ms ease, border-color 180ms ease;
  }

  .iac-tiac-page :is(.iac-presenter-card, .iac-info-card, .iac-ticket-option):hover {
    box-shadow: 0 .5rem 1.5rem #302c250c;
  }
}

@media (max-width: 1100px) {
  .iac-tiac-page .iac-tiac-nav {
    gap: .75rem;
  }

  .iac-tiac-page .iac-tiac-nav-links {
    padding-top: .5rem;
  }
}

@media (max-width: 640px) {
  .iac-tiac-page .iac-tiac-nav {
    padding: .75rem;
    gap: .5rem;
  }

  .iac-tiac-page .iac-tiac-wordmark {
    margin: 0 !important;
    padding: 0;
    border: 0;
  }

  .iac-tiac-page .iac-tiac-nav-links {
    padding-top: 0;
    gap: .25rem .65rem;
  }

  .iac-tiac-page .iac-tiac-nav-links a {
    padding-inline: 0;
  }

  /* Six ordinary links form two balanced rows; enlarged words can take a
     wider flex line instead of being squeezed into fixed narrow columns. */
  .iac-tiac-page .iac-tiac-nav-links > p {
    flex: 1 1 28%;
    text-align: center;
  }

  .iac-tiac-page .iac-tiac-presenter-link {
    margin-top: 0 !important;
  }

  .iac-tiac-page .iac-tiac-hero {
    padding-inline: 0;
  }

  .iac-tiac-page .iac-tiac-hero h1 {
    font-size: max(1rem, calc(clamp(2.5rem, 8vw, 3rem) * var(--iac-ui-scale)));
  }

  .iac-tiac-page .iac-tiac-chapter-heading,
  .iac-tiac-page .iac-tiac-chapter-copy {
    padding: max(16px, calc(1.5rem * var(--iac-ui-scale)));
  }
}
