/* Visit It. Stamp It. Wear It. — scoped landmark tee campaign */
.hg-lt { box-sizing: border-box; width: min(1120px, calc(100% - 28px)); margin: 34px auto; }
.hg-lt *, .hg-lt *::before, .hg-lt *::after { box-sizing: border-box; }
.hg-lt img { display: block; max-width: 100%; height: auto; border-radius: 0; }
.hg-lt-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.hg-lt-wide, .hg-lt-feature-wide { position: relative; overflow: hidden; border-radius: 16px; box-shadow: 0 10px 28px rgba(20,35,27,.16); }
.hg-lt-wide > img, .hg-lt-feature-wide > img { width: 100%; }
.hg-lt-motion { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100% !important; object-fit: fill; pointer-events: none; will-change: transform; }
.hg-lt-motion--model { clip-path: inset(0 0 0 60%); transform-origin: 80% 55%; }
.hg-lt-motion--stamp { clip-path: inset(15% 39% 14% 32%); transform-origin: 46.5% 50%; }
.hg-lt-motion--cta { clip-path: inset(67% 66% 18% 3%); transform-origin: 18% 75%; }
.hg-lt-feature--passport .hg-lt-motion--feature-model { clip-path: inset(0 47% 0 0); transform-origin: 27% 55%; }
.hg-lt-feature--passport .hg-lt-motion--feature-stamp { clip-path: inset(2% 58% 63% 31%); transform-origin: 36.5% 19%; }
.hg-lt-feature--passport .hg-lt-motion--feature-cta { clip-path: inset(69% 15% 15% 53%); transform-origin: 69% 77%; }
.hg-lt-feature--sights .hg-lt-motion--feature-model { clip-path: inset(3% 61% 12% 2%); transform-origin: 21% 52%; }
.hg-lt-feature--sights .hg-lt-motion--feature-stamp {
  /* Keep the overlapping paragraph in the base image; only the stamp should rock. */
  clip-path: polygon(58% 0, 100% 0, 100% 100%, 58% 100%, 58% 74%, 72% 74%, 72% 56%, 58% 56%);
  transform-origin: 79% 50%;
}
.hg-lt-feature--sights .hg-lt-motion--feature-cta { clip-path: inset(71% 41% 18% 36%); transform-origin: 47% 76%; }
.hg-lt-in-view .hg-lt-motion--model,
.hg-lt-in-view .hg-lt-motion--feature-model,
.hg-lt-in-view .hg-lt-motion--portrait-model { animation: hg-lt-model-drift 8s ease-in-out var(--hg-lt-model-delay, 0s) infinite; }
.hg-lt-in-view .hg-lt-motion--stamp,
.hg-lt-in-view .hg-lt-motion--feature-stamp,
.hg-lt-in-view .hg-lt-motion--portrait-stamp { animation: hg-lt-stamp-rock 5.8s ease-in-out var(--hg-lt-stamp-delay, .35s) infinite; }
.hg-lt-feature--sights.hg-lt-in-view .hg-lt-motion--feature-stamp { animation-name: hg-lt-sights-stamp-rock; }
.hg-lt-in-view .hg-lt-motion--cta,
.hg-lt-in-view .hg-lt-motion--feature-cta,
.hg-lt-in-view .hg-lt-motion--portrait-cta { animation: hg-lt-cta-breathe 3.8s ease-in-out var(--hg-lt-cta-delay, .8s) infinite; }
.hg-lt-in-view .hg-lt-btn { animation: hg-lt-button-breathe 3.8s ease-in-out .8s infinite; }
.hg-lt:hover .hg-lt-motion, .hg-lt:focus-within .hg-lt-motion, .hg-lt:hover .hg-lt-btn, .hg-lt:focus-within .hg-lt-btn { animation-play-state: paused; }
@keyframes hg-lt-model-drift {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(var(--hg-lt-drift-x, 2px),var(--hg-lt-drift-y, -2px),0) scale(1.006); }
}
@keyframes hg-lt-stamp-rock {
  0%, 100% { transform: rotate(-1.6deg) scale(1); }
  50% { transform: rotate(1.9deg) scale(1.012); }
}
@keyframes hg-lt-sights-stamp-rock {
  0%, 100% { transform: rotate(-.55deg) scale(1); }
  50% { transform: rotate(.65deg) scale(1.003); }
}
@keyframes hg-lt-cta-breathe {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-2px,0) scale(1.004); }
}
@keyframes hg-lt-button-breathe {
  0%, 100% { transform: translateY(0); box-shadow: 0 0 0 rgba(24,43,34,0); }
  50% { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(24,43,34,.18); }
}
.hg-lt-hit, .hg-lt-feature-hit { position: absolute; z-index: 2; border-radius: 999px; }
.hg-lt-hit:focus-visible, .hg-lt-feature-hit:focus-visible { outline: 4px solid #fff; box-shadow: 0 0 0 7px #f59e0b; }
.hg-lt-hit--shop { left: 3.7%; top: 70%; width: 15.1%; height: 9%; }
.hg-lt-hit--passport { left: 19.6%; top: 70%; width: 13.1%; height: 9%; }
.hg-lt-mobile, .hg-lt-feature-mobile { display: none; }
.hg-lt-heading { text-align: center; max-width: 760px; margin: 0 auto 22px; }
.hg-lt-eyebrow { display: block; color: #8b4515; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 7px; }
.hg-lt-keep { white-space: nowrap; }
.article-content .hg-lt-heading h2, .hg-lt-heading h2 { color: #182b22; font-size: clamp(26px, 3vw, 38px); line-height: 1.12; margin: 0 0 9px; }
.article-content .hg-lt-heading p, .hg-lt-heading p { color: #4f5c55; font-size: 17px; line-height: 1.55; margin: 0; }
.hg-lt-hub { padding: 28px; border: 1px solid #d9dfd9; border-radius: 18px; background: #f7f4ea; }
.hg-lt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px; }
.hg-lt-card { --hg-lt-card-angle: 0deg; --hg-lt-card-y: 0px; --hg-lt-drift-x: 2px; --hg-lt-drift-y: -2px; display: block; position: relative; color: #182b22; background: #fff; border-radius: 13px; overflow: hidden; text-decoration: none; box-shadow: 0 4px 14px rgba(20,35,27,.1); transition: transform .18s ease, box-shadow .18s ease; }
.hg-lt-card:hover, .hg-lt-card:focus-visible { color: #182b22; transform: translateY(-3px); box-shadow: 0 9px 23px rgba(20,35,27,.17); }
.hg-lt-card:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.hg-lt-grid .hg-lt-card, .hg-lt-mobile-rail .hg-lt-card { transform: translateY(var(--hg-lt-card-y)) rotate(var(--hg-lt-card-angle)); transform-origin: 50% 55%; }
.hg-lt-grid .hg-lt-card:hover, .hg-lt-grid .hg-lt-card:focus-visible,
.hg-lt-mobile-rail .hg-lt-card:hover, .hg-lt-mobile-rail .hg-lt-card:focus-visible { transform: translateY(calc(var(--hg-lt-card-y) - 3px)) rotate(var(--hg-lt-card-angle)); }
.hg-lt-grid .hg-lt-card:nth-child(4n + 1), .hg-lt-mobile-rail .hg-lt-card:nth-child(4n + 1) { --hg-lt-card-angle: -1.2deg; --hg-lt-card-y: 2px; --hg-lt-drift-x: -2px; --hg-lt-model-delay: -.8s; --hg-lt-stamp-delay: -.2s; --hg-lt-cta-delay: .35s; }
.hg-lt-grid .hg-lt-card:nth-child(4n + 2), .hg-lt-mobile-rail .hg-lt-card:nth-child(4n + 2) { --hg-lt-card-angle: .9deg; --hg-lt-card-y: -2px; --hg-lt-drift-x: 2px; --hg-lt-model-delay: -2.1s; --hg-lt-stamp-delay: .7s; --hg-lt-cta-delay: 1.15s; }
.hg-lt-grid .hg-lt-card:nth-child(4n + 3), .hg-lt-mobile-rail .hg-lt-card:nth-child(4n + 3) { --hg-lt-card-angle: -.55deg; --hg-lt-card-y: 1px; --hg-lt-drift-x: 1px; --hg-lt-drift-y: 2px; --hg-lt-model-delay: -3.4s; --hg-lt-stamp-delay: 1.2s; --hg-lt-cta-delay: .05s; }
.hg-lt-grid .hg-lt-card:nth-child(4n), .hg-lt-mobile-rail .hg-lt-card:nth-child(4n) { --hg-lt-card-angle: 1.25deg; --hg-lt-card-y: 3px; --hg-lt-drift-x: -1px; --hg-lt-drift-y: 2px; --hg-lt-model-delay: -4.7s; --hg-lt-stamp-delay: .15s; --hg-lt-cta-delay: 1.55s; }
.hg-lt-card-art { display: block; position: relative; overflow: hidden; aspect-ratio: 4 / 5; }
.hg-lt-card-art > img { width: 100%; height: 100%; object-fit: cover; }
.hg-lt-mobile-card { position: relative; }
.hg-lt-motion--portrait-model { clip-path: inset(0 0 0 17%); transform-origin: 62% 48%; }
.hg-lt-motion--portrait-cta { clip-path: inset(80% 58% 3% 3% round 8px); transform-origin: 22% 88%; }
.hg-lt-motion--portrait-stamp { clip-path: inset(82% 79% 5% 5% round 50%); transform-origin: 13% 88.5%; }
.hg-lt-card-label { display: block; padding: 11px 13px 13px; font-size: 15px; font-weight: 800; line-height: 1.25; }
.hg-lt-hub-passport { text-align: center; margin: 22px 0 0; }
.hg-lt-hub-passport a, .hg-lt-text-link { color: #254d3c; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.hg-lt-feature-hit--shop { top: 74%; left: 54.6%; width: 15.7%; height: 10%; }
.hg-lt-feature-hit--passport { top: 74%; left: 71.2%; width: 12.3%; height: 10%; }
.hg-lt-feature--sights .hg-lt-feature-hit--shop { top: 70%; left: 37.6%; width: 10.6%; height: 11%; }
.hg-lt-feature--sights .hg-lt-feature-hit--passport { top: 70%; left: 49%; width: 8.5%; height: 11%; }
.hg-lt-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 20px; border-radius: 999px; background: #182b22; color: #fff !important; font-size: 15px; font-weight: 800; text-decoration: none; }
.hg-lt-mobile-actions, .hg-lt-feature-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; padding-top: 15px; }
.hg-lt-mobile-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 78vw); gap: 14px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding: 3px 4px 16px; }
.hg-lt-mobile-rail .hg-lt-card { scroll-snap-align: center; }
.bp-lm-wear { display: inline-block; position: relative; z-index: 2; margin-top: 7px; padding: 4px 9px; border: 1px solid #c66b24; border-radius: 999px; color: #8b4515 !important; background: #fffaf1; font-size: 11.5px; font-weight: 800; line-height: 1.2; text-decoration: none; }
.bp-lm-wear:hover { background: #fff1d7; }
.bp-lm-wear:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .hg-lt-card { transition: none; }
  .hg-lt .hg-lt-motion, .hg-lt .hg-lt-btn { animation: none !important; transform: none !important; }
}
@media (max-width: 699px) {
  .hg-lt { width: min(100% - 24px, 560px); margin: 28px auto; }
  .hg-lt-wide, .hg-lt-feature-wide { display: none; }
  .hg-lt-mobile, .hg-lt-feature-mobile { display: block; }
  .hg-lt-mobile-card { display: block; overflow: hidden; border-radius: 15px; box-shadow: 0 8px 22px rgba(20,35,27,.16); }
  .hg-lt-mobile-card:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
  .hg-lt-hub { padding: 22px 14px; }
  .hg-lt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .hg-lt-card-label { padding: 9px 9px 11px; font-size: 13px; }
  .hg-lt-feature-mobile { padding: 22px 0 18px; border-block: 1px solid #d9dfd9; }
  .hg-lt-feature-mobile .hg-lt-heading { padding: 0 10px; }
  .hg-lt-mobile-rail { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; overflow: visible; scroll-snap-type: none; padding-inline: 0; }
}
@media (max-width: 480px) {
  .hg-lt-grid,
  .hg-lt-mobile-rail { grid-template-columns: 1fr; }
}
@media print { .hg-lt { display: none !important; } }
