/* Event palette from supplied race artwork: aqua, deep teal, lime, lavender. */
.winter-run{--forest:#004d4d;--ink:#123f43;--teal:#6fd6d6;--lime:#d4e157;--muted:#516d70;--paper:#fafbf8;--line:#d4e5e1}.winter-run .topline{background:#004d4d}.winter-run .site-header{border-bottom-color:#c7e9e7}.winter-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#e4f8f4 0%,#f5fbf5 58%,#ecf0dc 100%)}.winter-hero:before{content:'';position:absolute;inset:0 auto auto 0;width:35%;height:7px;background:linear-gradient(90deg,#6fd6d6,#cba7dd,#d4e157)}.winter-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px 0 60px;align-items:center}.event-kicker{font-weight:800;letter-spacing:.13em;font-size:.8rem;color:var(--forest);display:flex;align-items:center;gap:20px;margin-bottom:15px}.event-kicker span{color:#a0b922;font-size:2rem;line-height:1;letter-spacing:-.08em}.winter-copy h1{font-size:1.6rem;line-height:1.22;font-weight:700}.winter-copy h1>span{display:block;font-family:'Arial Narrow','Noto Sans Thai',sans-serif;font-weight:900;font-size:clamp(2.2rem,4.7vw,4.6rem);letter-spacing:-.045em;line-height:1.08;margin-top:12px}.winter-copy h1 em{font-style:normal;color:#5b6177;background:linear-gradient(110deg,#decdf0,#f0f5ac);padding:1px 8px;display:inline-block;font-size:.64em;transform:rotate(-3deg);border-radius:3px;vertical-align:middle}.winter-lead{font-size:1.24rem;font-weight:600;line-height:1.6;color:var(--forest);margin-top:22px}.winter-resort{font-size:.98rem;margin:9px 0 18px}.winter-facts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:22px}.winter-facts>span{display:inline-flex;align-items:center;gap:7px;border:1px solid #acd5ce;background:#fff9;padding:7px 11px;border-radius:6px;color:var(--forest);font-size:.85rem;font-weight:600}.winter-facts>span:last-child{background:var(--lime);border-color:var(--lime)}.winter-event-link{display:block;text-decoration:underline;text-underline-offset:5px;font-size:.85rem;margin:15px 0}.hero-disclaimer{font-size:.75rem;color:#49696a}.winter-poster{margin:0;position:relative;padding:12px;background:#fff;border-radius:10px 48px 10px 10px;box-shadow:0 14px 35px #004d4d17;transform:rotate(1deg)}.winter-poster img{width:100%;height:auto;border-radius:6px 35px 6px 6px}.winter-poster figcaption{font-size:.75rem;color:#516d70;text-align:center;padding:10px 0 1px}.winter-run .benefit-strip{margin-top:20px;box-shadow:none}.winter-run #availability{padding-top:55px}.winter-run .eyebrow{color:#007471}.winter-run .stay-planner{border-color:#aadbd6;background:linear-gradient(140deg,#fff 60%,#f2fbf8)}.winter-run .night-filter{background:#e3f3f0}.winter-run .night-filter button[aria-pressed=true]{background:var(--forest)}.winter-run .stay-plan[aria-pressed=true]{background:#dff6f2}.winter-run .plan-top>span{background:#d4e157;color:#30493c}.winter-run .step-number{border-radius:6px 14px 6px 6px}.winter-run .room-card{box-shadow:0 4px 18px #004d4d08}.winter-run .zone-label{background:#6fd6d6f2;color:#004d4d}.winter-run .room-tour{color:#006b69}.winter-run .morning{background:#e9f5ed}.winter-run .schedule-panel{border-top:5px solid #6fd6d6;background:#fff}.winter-run .schedule-row.highlight{background:#eef3c5;color:#25463b}.race-experience{padding-top:20px}.route-tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:14px}.route-tabs button{display:flex;align-items:center;gap:12px;padding:12px 20px;border:1px solid #bcd9d3;border-radius:8px;background:#fff;color:var(--forest);font-size:1.4rem;font-weight:800;min-height:58px}.route-tabs small{font-size:.8rem;font-weight:500}.route-tabs button[aria-selected=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.route-content{display:grid;grid-template-columns:1fr .8fr;gap:35px;align-items:center;background:#fff;border:1px solid var(--line);padding:22px;border-radius:16px}.route-image img{width:100%;height:auto;border-radius:9px}.route-description{padding:10px 20px 10px 0}.distance-number{display:flex;align-items:baseline;gap:6px;font-size:5rem;line-height:1.1;font-weight:900;color:var(--forest);font-style:italic}.distance-number small{font-size:1.6rem;font-style:normal}.route-description h3{font-size:1.4rem;margin:12px 0}.route-description>p{font-size:.9rem}.race-meta{display:flex;flex-direction:column;gap:9px;margin:20px 0;font-size:.9rem}.race-meta span{display:flex;gap:8px;align-items:center}.race-entry{border-top:1px solid var(--line);padding-top:16px;margin-bottom:18px}.race-entry b{font-size:1.9rem;margin-left:8px;color:var(--forest)}.race-entry small{display:block;font-size:.78rem}.route-description .note{font-size:.75rem;margin-top:12px}.race-kit-summary{display:grid;grid-template-columns:1fr 260px;gap:35px;align-items:center;padding:30px;background:#e8f7f5;border-radius:16px;margin:28px 0}.race-kit-summary img{width:100%;border-radius:8px}.race-kit-summary h3{margin-bottom:12px}.race-kit-summary p:not(.eyebrow){font-size:.95rem}.race-kit-summary p.note{font-size:.8rem;margin-top:14px}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 15px}.gallery-heading p{font-size:.85rem}.event-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:15px}.event-gallery>a{flex:0 0 220px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;scroll-snap-align:start}.event-gallery img{width:100%;aspect-ratio:1;object-fit:contain;background:#eef5ec}.event-gallery span{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem;padding:13px}.event-gallery .icon{width:16px;height:16px}.event-source{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px;margin-top:12px}.event-source p{font-size:.78rem}.event-source a{color:#006e6d;text-decoration:underline;text-underline-offset:3px}.event-source>div{display:flex;gap:15px;align-items:flex-start;font-size:.8rem}.event-source .icon{width:15px;height:15px}.winter-run .closing{background:#004d4d}.winter-run .mobile-cta>.button{background:#004d4d}.winter-run .mobile-cta>.button small{color:#daf3c7}
@media(max-width:1100px){.winter-hero-grid{gap:32px}.winter-copy h1>span{font-size:3.5rem}.route-content{grid-template-columns:1fr 1fr;gap:25px}.route-description{padding:0}.route-tabs button{font-size:1.15rem}}
@media(max-width:760px){.winter-hero-grid{grid-template-columns:1fr;gap:25px;padding-top:30px;padding-bottom:28px}.winter-copy h1{font-size:1.13rem}.winter-copy h1>span{font-size:clamp(2rem,8.7vw,3.2rem);line-height:1.1;margin-top:8px}.event-kicker{font-size:.72rem;margin-bottom:12px;gap:12px}.event-kicker span{font-size:1.6rem}.winter-lead{font-size:1.05rem;margin-top:18px}.winter-resort{font-size:.85rem;margin:7px 0 15px}.winter-facts{gap:7px;margin-bottom:16px}.winter-facts>span{font-size:.75rem;padding:7px 9px}.winter-facts .icon{width:17px;height:17px}.winter-copy>.button{width:100%;min-height:52px}.winter-event-link{margin:13px 0;font-size:.8rem}.hero-disclaimer{font-size:.72rem}.winter-poster{padding:8px;border-radius:8px 30px 8px 8px;transform:none;max-width:420px;width:100%;justify-self:center}.winter-poster img{border-radius:5px 24px 5px 5px}.winter-poster figcaption{font-size:.7rem;padding:8px 0 2px}.winter-run .benefit-strip{margin-top:18px}.winter-run #availability{padding-top:38px}.winter-run #availability .section-heading .outline-tag{margin-top:13px}.winter-run .section-heading .eyebrow{font-size:.68rem;letter-spacing:.08em}.winter-run .section-heading h2{font-size:1.55rem}.race-experience{padding-top:0}.route-tabs{gap:10px;margin-bottom:16px}.route-tabs button{flex:1;display:block;padding:12px 8px;font-size:1.3rem}.route-tabs small{display:block;font-size:.73rem;margin-top:3px}.route-content{grid-template-columns:1fr;padding:12px;gap:18px}.route-description{padding:5px 8px 12px}.distance-number{font-size:3.5rem}.route-description h3{font-size:1.25rem}.route-description>p{font-size:.85rem}.race-meta{font-size:.85rem;margin:17px 0}.race-kit-summary{grid-template-columns:1fr;padding:20px;gap:20px}.race-kit-summary>a{width:100%;max-width:300px;justify-self:center}.race-kit-summary p:not(.eyebrow){font-size:.87rem}.gallery-heading{display:block}.gallery-heading p{margin-top:5px;font-size:.8rem}.event-gallery{gap:12px;margin-right:-18px;padding-right:18px}.event-gallery>a{flex-basis:200px}.event-source{display:block}.event-source>div{margin-top:14px}.winter-run .nav .button{font-size:.73rem;padding:9px 10px}.winter-run .nav .button .icon{display:none}}
.facebook-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}.facebook-previews>a{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.facebook-preview-image{position:relative;background:#e6f4ee}.facebook-preview-image img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 48%}.facebook-preview-image>span{position:absolute;left:14px;bottom:14px;background:#004d4deb;color:white;padding:8px 12px;border-radius:6px;font-size:.8rem}.facebook-previews>a>div:last-child{padding:20px}.facebook-previews h3{font-size:1.1rem;margin-bottom:7px}.facebook-previews p{font-size:.83rem}@media(max-width:760px){.facebook-previews{grid-template-columns:1fr;gap:16px}.facebook-previews>a>div:last-child{padding:17px}.facebook-preview-image img{aspect-ratio:4/3}}
/* Override intrinsic height attributes so thumbnails keep their intended ratio. */
.event-gallery img,.race-kit-summary img,.facebook-preview-image img{height:auto}
