/* Local home-page concept: the seminar poster and Primatika's working tools. */
.homepage-redesign {
  --accent: #902331;
  --hover: #6e1925;
  --ink: #111e3f;
  --muted: #77776f;
  --line: #e5dfd4;
  --paper: #f7f5ee;
  --gold: #b89b5c;
  background: var(--paper);
  color: var(--ink);
}
.primatika-header {
  min-height: 88px;
  padding: 18px max(32px, calc((100vw - 1540px) / 2));
  background: #fffcf6;
  border-top-color: var(--accent);
  border-bottom-color: var(--line);
}
.primatika-header .brand { font-size: 30px; }
.primatika-header .brand small { color: #6c706e; font-size: 8px; letter-spacing: .2em; }
.primatika-header .monogram { background: var(--accent); border-radius: 3px; }
.home-navigation { display: flex; align-items: center; gap: 30px; }
.home-navigation a { color: #50586c; font-size: 12px; text-decoration: none; text-underline-offset: 5px; }
.home-navigation a:hover { color: var(--accent); text-decoration: underline; }
.home-navigation a:last-child { color: var(--accent); }
.home-redesign { max-width: 1604px; padding: 26px 32px 0; }
.home-redesign > .eyebrow { font-size: 9px; letter-spacing: .17em; color: #797a72; }

/* The artwork and the QR rail are one event card. */
.seminar-poster {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 370px;
  margin: 18px 0 0;
  border: 1px solid #d9ceb7;
  border-radius: 9px;
  overflow: hidden;
  background: #fffcf4;
  box-shadow: 0 16px 45px #493c2610;
  scroll-margin-top: 20px;
}
.poster-art { position: relative; min-width: 0; min-height: 690px; overflow: hidden; background: #d8e8ed; }
.poster-image { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; object-position: center bottom; }
.poster-wash { position: absolute; inset: 0; background: linear-gradient(180deg, #fffcf5c9 0%, #fffff87a 29%, #fffff815 54%, transparent 65%); }
.poster-copy { position: relative; z-index: 1; max-width: calc(100% - 144px); padding: 36px 0 0 43px; }
.poster-kicker { font-size: 11px; font-weight: 650; letter-spacing: .045em; color: #263654; margin: 0 0 20px; }
.home-redesign .poster-copy h1 {
  margin: 0;
  color: #101d43;
  font: 500 clamp(44px, 4.05vw, 68px)/1.02 Georgia, 'Times New Roman', serif;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.home-redesign .poster-copy h1 em { color: #902331; font-weight: 400; }
.poster-audience { margin-top: 16px; color: #192a48; font: 400 21px/1.3 Georgia, 'Times New Roman', serif; }
.poster-flag {
  position: absolute;
  z-index: 2;
  top: -1px;
  right: 28px;
  width: 133px;
  height: 191px;
  padding: 0 3px 4px;
  background: linear-gradient(120deg, #ead18c, #aa8441 54%, #eed79c);
  clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%);
}
.poster-flag-inner { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; padding: 18px 8px 31px; background: linear-gradient(140deg, #a51626, #820d1a); clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%); color: #fffaeb; }
.flag-mountains { width: 67px; height: 28px; margin-bottom: 6px; }
.flag-days { font: 35px/1 Georgia, 'Times New Roman', serif; letter-spacing: -.04em; }
.flag-month { font: 23px/1.1 Georgia, 'Times New Roman', serif; margin-top: 3px; }
.flag-year { font-size: 11px; letter-spacing: .15em; margin-top: 8px; }
.flag-diamond { width: 7px; height: 7px; background: #e5c67b; transform: rotate(45deg); margin-top: 11px; }
.poster-expand { position: absolute; right: 19px; bottom: 17px; z-index: 2; min-height: 35px; padding: 9px 13px; border: 1px solid #fffaeb80; border-radius: 4px; background: #fff9ebed; color: #27344b; font-size: 10px; font-weight: 650; box-shadow: 0 2px 12px #24200e18; }
.poster-expand:hover { background: white; }

.poster-rail { position: relative; z-index: 3; display: flex; flex-direction: column; gap: 0; padding: 31px 25px 24px; background: #fffcf4; border-left: 1px solid #d9ceb7; }
.rail-eyebrow { color: #947c4a; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.rail-heading h2 { margin: 14px 0 12px; font: 400 33px/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.04em; }
.rail-heading h2 em { color: var(--accent); }
.rail-intro { max-width: 250px; color: #797970; font-size: 11px; line-height: 1.6; }
.poster-links { display: grid; gap: 12px; margin-top: 25px; }
.event-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 15px; min-width: 0; min-height: 170px; padding: 15px 14px 15px 10px; background: white; border: 1px solid #e3d9c5; border-radius: 5px; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.event-qr { width: 112px; height: 112px; display: block; object-fit: contain; image-rendering: pixelated; }
.event-card-copy { display: flex; flex-direction: column; align-self: stretch; align-items: flex-start; padding-block: 2px; }
.event-card-number { color: #9d8758; font-size: 8px; letter-spacing: .08em; font-weight: 700; line-height: 1.6; }
.event-card h3 { color: #172440; font: 400 22px/1.07 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; margin: 9px 0 8px; }
.event-card-copy > p { color: #838177; font-size: 10px; line-height: 1.55; margin: 0 0 11px; }
.event-card-action { margin-top: auto; color: #7d2431; font-size: 10px; line-height: 1.5; font-weight: 650; }
.event-card-route { border-color: #d3bca3; background: #fffdf9; }
.event-card-route h3 { color: #852533; }
@media (hover: hover) and (pointer: fine) {
  .event-card:hover { border-color: #a7834b; box-shadow: 0 5px 16px #493c2610; }
}
.rail-location { display: flex; align-items: flex-start; gap: 10px; margin-top: auto; padding-top: 24px; color: #29344b; font-size: 11px; line-height: 1.6; }
.rail-location svg { width: 16px; height: 20px; flex-shrink: 0; color: #9c7d45; margin-top: 2px; }
.rail-location strong { font-size: 12px; font-weight: 650; }
.rail-location p { color: #858176; font-size: 10px; margin-top: 3px; }
.rail-arrival { margin-top: 17px; padding-top: 15px; border-top: 1px solid #e8ddc7; color: #858176; font-size: 9px; line-height: 1.6; }
.rail-arrival > span { width: 5px; height: 5px; display: inline-block; margin-right: 5px; border-radius: 50%; background: #8d9b72; vertical-align: 1px; }
.poster-status { margin-top: 12px; color: var(--accent); font-size: 11px; line-height: 1.5; }
.poster-status:empty { display: none; }
.seminar-poster :is(a, button):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.seminar-poster [hidden] { display: none !important; }
.poster-footnote { display: flex; justify-content: space-between; gap: 20px; padding: 14px 2px; color: #929083; font-size: 8px; letter-spacing: .12em; }
.poster-footnote a { color: #787765; text-decoration: none; }
.poster-footnote a:hover { color: var(--accent); }

/* Keep the original workshop as a quieter second chapter. */
.home-redesign .home-intro { margin-top: 40px; padding: 48px 0 46px; border-top: 1px solid var(--line); grid-template-columns: 1.45fr 1fr; }
.home-redesign .home-intro .eyebrow { font-size: 9px; color: #9a8050; margin-bottom: 21px; }
.home-redesign .home-intro h2 { font-size: clamp(48px, 4.5vw, 68px); line-height: 1.04; }
.home-redesign .home-intro h2 em { color: var(--accent); }
.home-redesign .home-lead { color: #7b7e77; font-size: 15px; line-height: 1.65; }
.home-redesign .home-mark > span { color: #293550; }
.home-redesign .orbit { border-color: #b69a5e45; }
.home-redesign .orbit-two { background: #c2ab7010; }
.home-redesign .destinations { gap: 17px; }
.home-redesign .destination { border-color: #e5dfd4; border-radius: 6px; padding: 27px; background: #fffdf8; }
.home-redesign .destination h2 { font-size: 33px; color: #1b2c45; }
.home-redesign .destination p { color: #777d78; }
.home-redesign .destination .eyebrow { color: #937b4c; font-size: 8px; }
.home-redesign .destination .round-arrow { color: #7f6941; border-color: #dcd2bb; }
.home-redesign .destination-link { color: #8a2430; font-size: 12px; }
.home-redesign .destination.featured { background: #172b45; border-color: #172b45; }
.home-redesign .featured h2, .home-redesign .featured .destination-link { color: #fffaf0; }
.home-redesign .featured p { color: #c6d0d5; }
.home-redesign .featured .eyebrow { color: #d3bd88; }
.home-redesign .featured .round-arrow { color: #e6d5ac; border-color: #ffffff36; }
.home-redesign .home-case-link { margin-top: 24px; border-color: var(--line); }
.home-redesign .site-footer { color: #8a8a7e; border-color: var(--line); }

.seminar-poster:fullscreen { width: 100vw; max-width: none; height: 100svh; margin: 0; border: 0; border-radius: 0; grid-template-columns: minmax(0, 1fr) clamp(360px, 28vw, 510px); overflow: auto; }
.seminar-poster:fullscreen .poster-art { min-height: 100svh; }
.seminar-poster:fullscreen .poster-copy { padding: 6vh 0 0 5vw; }
.seminar-poster:fullscreen .poster-copy h1 { font-size: clamp(58px, 5.5vw, 108px); }
.seminar-poster:fullscreen .poster-audience { font-size: clamp(22px, 1.8vw, 34px); }
.seminar-poster:fullscreen .poster-rail { padding: clamp(24px, 3vw, 48px); justify-content: center; }
.seminar-poster:fullscreen .rail-heading h2 { font-size: clamp(33px, 2.8vw, 50px); }
.seminar-poster:fullscreen .rail-intro { font-size: 13px; }
.seminar-poster:fullscreen .rail-location { margin-top: 15px; }

@media (min-width: 1660px) {
  .poster-art { min-height: 750px; }
  .seminar-poster { grid-template-columns: minmax(0, 1fr) 400px; }
  .poster-rail { padding: 40px 29px 28px; }
  .poster-links { margin-top: 30px; gap: 16px; }
  .event-card { grid-template-columns: 124px minmax(0, 1fr); min-height: 180px; }
  .event-qr { width: 124px; height: 124px; }
  .event-card h3 { font-size: 25px; }
  .event-card-copy > p, .event-card-action { font-size: 10px; }
}
@media (max-width: 1240px) {
  .home-redesign { padding-inline: 24px; }
  .primatika-header { padding-inline: 24px; }
  .seminar-poster { grid-template-columns: minmax(0, 1fr) 340px; }
  .poster-art { min-height: 650px; }
  .poster-copy { padding-left: 30px; max-width: calc(100% - 110px); }
  .home-redesign .poster-copy h1 { font-size: 50px; }
  .poster-kicker { font-size: 10px; }
  .poster-audience { font-size: 20px; }
  .poster-flag { width: 114px; height: 174px; right: 20px; }
  .flag-days { font-size: 31px; }
  .flag-month { font-size: 21px; }
  .poster-rail { padding: 28px 20px 22px; }
  .rail-heading h2 { font-size: 31px; }
  .event-card { grid-template-columns: 104px minmax(0, 1fr); gap: 10px; padding-right: 10px; }
  .event-qr { width: 104px; height: 104px; }
  .event-card h3 { font-size: 22px; }
}
@media (max-width: 1000px) {
  .home-navigation { gap: 18px; }
  .home-navigation a { font-size: 11px; }
  .seminar-poster { grid-template-columns: 1fr; }
  .poster-art { min-height: 650px; }
  .poster-copy { padding: 32px 0 0 37px; max-width: calc(100% - 155px); }
  .home-redesign .poster-copy h1 { font-size: clamp(50px, 7vw, 68px); }
  .poster-flag { width: 130px; height: 188px; right: 29px; }
  .poster-rail { padding: 28px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; border-left: 0; border-top: 1px solid #d9ceb7; }
  .rail-heading { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; align-items: center; }
  .rail-eyebrow { grid-column: 1/-1; }
  .rail-heading h2 { font-size: 32px; }
  .rail-intro { max-width: 250px; margin-top: 12px; }
  .poster-links { grid-column: 1/-1; grid-template-columns: 1fr 1fr; margin-top: 17px; gap: 20px; }
  .event-card { grid-template-columns: 112px minmax(0, 1fr); min-height: 180px; }
  .event-qr { width: 112px; height: 112px; }
  .rail-location { padding-top: 22px; }
  .rail-arrival { margin-top: 24px; padding-top: 0; border-top: 0; align-self: center; }
  .poster-status { grid-column: 1/-1; }
  .seminar-poster:fullscreen { display: block; }
  .seminar-poster:fullscreen .poster-art { min-height: 650px; }
}
@media (max-width: 700px) {
  .primatika-header { min-height: 79px; padding: 14px 20px; }
  .primatika-header .brand { font-size: 27px; }
  .primatika-header .brand small { font-size: 7px; }
  .home-navigation a { display: none; }
  .home-navigation a:first-child { display: inline; font-size: 10px; }
  .home-redesign { padding: 21px 16px 0; }
  .home-redesign > .eyebrow { font-size: 7px; line-height: 1.7; letter-spacing: .12em; max-width: 280px; }
  .seminar-poster { margin-top: 14px; border-radius: 6px; }
  .poster-art { min-height: 635px; }
  .poster-image { height: 435px; top: auto; bottom: 0; object-position: center bottom; -webkit-mask-image: linear-gradient(180deg, transparent, #000 24%); mask-image: linear-gradient(180deg, transparent, #000 24%); }
  .poster-art { background: linear-gradient(180deg, #f8f8ee, #dcecf2 50%, #ccdce0); }
  .poster-wash { background: linear-gradient(180deg, #fffdf3c7, #fffdf38c 26%, #fffdf338 44%, transparent 62%); }
  .poster-copy { max-width: calc(100% - 70px); padding: 26px 0 0 24px; }
  .poster-kicker { max-width: 185px; font-size: 9px; line-height: 1.5; margin-bottom: 24px; }
  .home-redesign .poster-copy h1 { font-size: clamp(39px, 7.8vw, 53px); line-height: 1.03; letter-spacing: -.05em; text-wrap: initial; }
  .poster-audience { font-size: 18px; margin-top: 18px; line-height: 1.35; }
  .poster-flag { right: 16px; width: 95px; height: 148px; }
  .poster-flag-inner { padding: 13px 6px 24px; }
  .flag-mountains { width: 52px; height: 24px; margin-bottom: 4px; }
  .flag-days { font-size: 27px; }
  .flag-month { font-size: 17px; }
  .flag-year { font-size: 9px; margin-top: 6px; }
  .flag-diamond { width: 5px; height: 5px; margin-top: 7px; }
  .poster-expand { right: 13px; bottom: 13px; font-size: 9px; min-height: 32px; padding: 7px 10px; }
  .poster-rail { display: block; padding: 26px 20px 22px; }
  .rail-heading { display: block; }
  .rail-eyebrow { font-size: 8px; }
  .rail-heading h2 { font-size: 33px; margin-block: 13px 10px; }
  .rail-heading h2 br { display: none; }
  .rail-intro { max-width: 300px; font-size: 11px; }
  .poster-links { grid-template-columns: 1fr; margin-top: 22px; gap: 12px; }
  .event-card { min-height: 166px; padding: 14px; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; }
  .event-card h3 { font-size: 25px; }
  .event-card-number { font-size: 7px; }
  .event-card-copy > p, .event-card-action { font-size: 10px; }
  .rail-location { padding-top: 23px; font-size: 12px; }
  .rail-location strong { font-size: 13px; }
  .rail-location p { font-size: 11px; }
  .rail-arrival { margin-top: 19px; padding-top: 14px; border-top: 1px solid #e8ddc7; font-size: 9px; }
  .poster-footnote { font-size: 7px; line-height: 1.8; letter-spacing: .07em; }
  .poster-footnote > span { max-width: 235px; }
  .home-redesign .home-intro { margin-top: 25px; padding-block: 32px; grid-template-columns: 1fr; }
  .home-redesign .home-intro h2 { font-size: 48px; }
  .home-redesign .home-intro .eyebrow { font-size: 8px; margin-bottom: 19px; }
  .home-redesign .home-lead { font-size: 13px; }
  .home-redesign .destination { padding: 24px; }
  .home-redesign .destination h2 { font-size: 32px; }
  .home-redesign .site-footer { font-size: 9px; line-height: 1.7; }
  .seminar-poster:fullscreen .poster-art { min-height: 635px; }
  .seminar-poster:fullscreen .poster-copy { padding: 26px 0 0 24px; }
  .seminar-poster:fullscreen .poster-copy h1 { font-size: 43px; }
  .seminar-poster:fullscreen .poster-audience { font-size: 18px; }
  .seminar-poster:fullscreen .poster-rail { padding: 26px 20px; }
}
@media (max-width: 370px) {
  .home-redesign { padding-inline: 12px; }
  .poster-copy { padding-left: 18px; }
  .home-redesign .poster-copy h1 { font-size: 38px; }
  .poster-flag { right: 10px; width: 86px; height: 139px; }
  .poster-rail { padding-inline: 16px; }
  .event-card { grid-template-columns: 99px minmax(0, 1fr); padding-inline: 9px; gap: 13px; }
  .event-qr { width: 99px; height: 99px; }
  .event-card h3 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) { .event-card { transition: none; } }
@media print { .seminar-poster, .poster-footnote, .home-navigation { display: none !important; } }
