.trail-hero{display:flex;flex-direction:column;margin-bottom:var(--space-xl)}.trail-hero,.trail-hero__image-grid{position:relative;gap:var(--space-md)}.trail-hero__image-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,1fr);grid-gap:var(--space-md);height:500px}.trail-hero__image-large{grid-row:span 2;box-shadow:var(--shadow-lg)}.trail-hero__image-large,.trail-hero__image-small{position:relative;border-radius:var(--radius-lg);overflow:hidden}.trail-hero__image-small{box-shadow:var(--shadow-md)}.trail-hero__image{object-fit:cover}.trail-hero__all-photos{position:absolute;bottom:var(--space-sm);right:var(--space-sm);background-color:var(--white);border:var(--border-width-thin) solid var(--gray-200);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--gray-900);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm);cursor:pointer;z-index:1}.trail-hero__skeleton{height:500px;background-color:var(--gray-100);border-radius:var(--radius-lg);animation:pulse 1.5s ease-in-out infinite;margin-bottom:var(--space-xl)}@keyframes pulse{0%,to{opacity:var(--opacity-100)}50%{opacity:var(--opacity-60)}}@media (max-width:768px){.trail-hero--mobile{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;border-radius:0}.trail-hero__carousel-slide{position:relative;flex:0 0 100%;height:300px}.trail-hero__carousel,.trail-hero__carousel-wrapper{overflow:hidden;width:100%}.trail-hero__carousel-track{display:flex}.trail-hero__carousel-slide{margin-right:0;border-radius:0;box-shadow:none}.trail-hero__image{object-fit:cover}.trail-hero__all-photos{position:absolute;bottom:var(--space-sm);right:var(--space-sm);background-color:var(--white);border:var(--border-width-thin) solid var(--gray-200);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--gray-900);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm);cursor:pointer;z-index:1}.trail-hero__dots{display:flex;justify-content:center;gap:var(--space-xs);margin-top:var(--space-sm)}.trail-hero__dots .dot{width:8px;height:8px;border-radius:50%;background-color:var(--gray-200);transition:background-color .3s ease}.trail-hero__dots .dot.active{background-color:var(--primary-800)}}