/* Approved TRT campus presentation; catalog/shared styles stay in landing.css. */
.destinations-invitation{display:grid;grid-template-columns:176px minmax(0,1fr) auto;align-items:center;gap:32px;background:#d6e9e1;padding:20px 28px;margin-bottom:26px}
.destinations-invitation-logo{display:block}
.destinations-invitation-logo img{display:block;width:100%;height:auto}
.destinations-invitation-copy{min-width:0}
.destinations-invitation .eyebrow{font-size:9px;letter-spacing:.12em}
.destinations-invitation p{font-size:15px;margin-top:6px}
.destinations-invitation-cta{font-size:13px;font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:6px}
.destinations-invitation-cta span{margin-left:20px}
@media(max-width:1050px){.destinations-invitation{grid-template-columns:150px minmax(0,1fr) auto;gap:24px}}
@media(max-width:760px){.destinations-invitation{grid-template-columns:120px minmax(0,1fr);padding:20px;gap:18px}.destinations-invitation p{font-size:14px}.destinations-invitation-cta{grid-column:1/-1;justify-self:start;font-size:12px;white-space:normal}}
@media(max-width:390px){.destinations-invitation{grid-template-columns:104px minmax(0,1fr);gap:16px}.destinations-invitation p{font-size:13px}}
.campus-page {
  --paper: #f8f6ef;
  --ink: #213c3c;
  --muted: #59665f;
  --navy: #183d58;
  --rust: #9c4e31;
}
.campus-page .page-width { width: min(1512px, calc(100% - 128px)); }
.campus-page .site-header { min-height: 112px; }
.campus-page .brand img { width: 182px; }
.campus-page .site-header nav { gap: 38px; }
.campus-hero {
  position: relative;
  isolation: isolate;
  padding-bottom: 24px;
  background: url('images/fall-campus.webp') center bottom / cover no-repeat;
}
.campus-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(250,248,241,.99) 0%, rgba(250,248,241,.94) 26%, rgba(250,248,241,.55) 56%, rgba(250,248,241,.02) 76%, rgba(250,248,241,.8) 100%);
}
.campus-intro { padding-top: 42px; text-align: center; }
.campus-intro h1 {
  font: 400 clamp(44px, 4.514vw, 72px)/1.07 var(--serif);
  letter-spacing: -1.3px;
  color: var(--navy);
}
.campus-intro .value { color: var(--rust); }
.campus-intro .service {
  display: block;
  font-size: .5385em;
  line-height: 1.25;
  letter-spacing: -.3px;
  margin-top: 10px;
  color: var(--muted);
}
.campus-intro .service > span { font-size: 1.1714em; color: var(--ink); }
.campus-intro p { max-width: 660px; margin: 22px auto 0; font-size: 16px; line-height: 1.7; color: var(--muted); }
.campus-intro .text-link { gap: 40px; margin-top: 18px; padding-bottom: 7px; }
.garment-gallery {
  --garment-height: clamp(140px, calc((100vw - 140px) / 6.2), 240px);
  margin: 58px auto 0;
  padding: 24px 34px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #63716580 transparent;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 24px;
}
.garment-gallery:focus-visible { outline: 2px solid var(--navy); outline-offset: -4px; }
.garment-track { display: flex; align-items: start; gap: 9px; width: max-content; margin-inline: auto; }
/* Normalize only the original transparent padding, preserving every garment pixel. */
.campus-product {
  position: relative;
  flex: 0 0 auto;
  width: calc(var(--garment-height) * var(--ratio));
  height: var(--garment-height);
  scroll-snap-align: start;
}
.campus-product img {
  position: absolute;
  width: var(--image-width);
  height: var(--image-height);
  left: var(--image-left);
  top: var(--image-top);
  max-width: none;
  filter: drop-shadow(3px 9px 5px #28322524);
}
.campus-caption { margin-top: 1px; text-align: center; font-size: 12px; font-weight: 500; color: #39453a; }
.gallery-hint { display: none; }
.campus-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 100px; padding-block: 32px 38px; border-bottom: 1px solid var(--line); }
.campus-link { position: relative; display: flex; flex-direction: column; align-items: center; min-width: 0; text-align: center; }
.campus-link + .campus-link::before { content: ''; position: absolute; left: -50px; top: 0; bottom: 0; width: 1px; background: var(--line); }
.campus-link .eyebrow { font-size: 9px; letter-spacing: .14em; font-weight: 500; color: var(--muted); }
.campus-link h3 { font: 32px/1.2 var(--serif); margin-top: 7px; letter-spacing: -.3px; }
.campus-link p { font-size: 13px; color: var(--muted); margin-top: 10px; }
.campus-cta { display: flex; align-items: center; justify-content: center; gap: 20px; width: min(280px,100%); padding-top: 20px; margin-top: auto; font-size: 12px; font-weight: 600; }
.campus-link:hover .campus-cta { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1050px) {
  .campus-page .page-width { width: calc(100% - 56px); }
  .campus-page .site-header nav { gap: 24px; }
  .campus-intro h1 { font-size: clamp(40px, 4.8vw, 50px); }
  .campus-intro .service { font-size: .6em; }
  .campus-links { gap: 60px; }
  .campus-link + .campus-link::before { left: -30px; }
  .campus-link h3 { font-size: 29px; }
}
@media (max-width: 1000px) {
  .garment-gallery { --garment-height: 210px; margin-top: 36px; padding-inline: 28px; }
  .garment-track { gap: 20px; }
  .campus-caption { margin-top: 3px; }
  .gallery-hint { display: block; text-align: center; margin-top: 7px; font-size: 11px; color: #39453a; }
}
@media (max-width: 760px) {
  .campus-page .page-width { width: calc(100% - 40px); }
  .campus-page .site-header { min-height: 0; gap: 10px; }
  .campus-page .brand img { width: 155px; }
  .campus-page .site-header nav { gap: 16px; }
  .campus-intro { padding-top: 30px; }
  .campus-intro h1 { font-size: clamp(36px, 6.5vw, 46px); letter-spacing: -.7px; max-width: 18ch; margin-inline: auto; text-wrap: balance; }
  .campus-intro .service { font-size: .62em; line-height: 1.3; margin-top: 14px; }
  .campus-intro p { max-width: 42ch; font-size: 15px; line-height: 1.65; margin-top: 20px; }
  .campus-intro .text-link { font-size: 12px; gap: 30px; }
  .garment-gallery { --garment-height: 205px; padding-inline: 20px; margin-top: 26px; scroll-padding-inline: 20px; }
  .garment-track { gap: 18px; }
  .campus-links { grid-template-columns: 1fr; gap: 0; padding-block: 6px 0; }
  .campus-link { padding-block: 25px; }
  .campus-link + .campus-link { border-top: 1px solid var(--line); }
  .campus-link + .campus-link::before { display: none; }
  .campus-link h3 { font-size: 29px; }
  .campus-cta { width: 100%; padding-top: 16px; }
}
@media (max-width: 390px) {
  .campus-page .page-width { width: calc(100% - 32px); }
  .campus-page .site-header nav { gap: 10px; }
  .campus-intro h1 { font-size: 36px; }
  .campus-intro .service { font-size: 23px; }
  .campus-intro .service > span { font-size: 1.08em; }
  .garment-gallery { padding-inline: 16px; scroll-padding-inline: 16px; }
  .campus-link h3 { font-size: 27px; }
}
