.featured-places{padding-block:var(--space-16)}.featured-places__inner{max-width:var(--max-width-content);padding-inline:var(--space-6);margin-inline:auto}.featured-places__title{font-size:var(--font-size-2xl);text-align:center;margin-block-end:var(--space-12);font-weight:700}.featured-places__footer{text-align:center;margin-block-start:var(--space-12)}.fp-timeline{--fp-gutter:3.5rem;--fp-line-inset:1.5rem;--fp-dot-size:.75rem;--fp-card-img-w:220px;padding-inline-start:var(--fp-gutter);position:relative}.fp-rail{width:2px;position:absolute;inset-block:0;inset-inline-start:calc(var(--fp-line-inset) - 1px);overflow:hidden}.fp-rail__track{background:color-mix(in srgb,var(--color-primary)18%,transparent);border-radius:1px;position:absolute;inset:0}.fp-rail__fill{inset-inline:0;background:linear-gradient(to bottom,var(--color-primary-light),var(--color-primary),var(--color-primary-dark));border-radius:1px;height:0%;transition:height .12s linear;position:absolute;top:0}.fp-list{gap:var(--space-8);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fp-timeline-item{opacity:1;position:relative;transform:none}.fp-dot{inset-inline-start:calc(-1*(var(--fp-gutter) - var(--fp-line-inset)) - var(--fp-dot-size)/2);width:var(--fp-dot-size);height:var(--fp-dot-size);background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary)30%,transparent);transition:opacity var(--transition-base),transform var(--transition-base);z-index:1;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%)}[data-animate=true] .fp-timeline-item{opacity:0;transition:opacity .55s,transform .55s;transform:translate(1.5rem)}[dir=rtl] [data-animate=true] .fp-timeline-item{transform:translate(-1.5rem)}[data-animate=true] .fp-timeline-item[data-visible=true]{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){[data-animate=true] .fp-timeline-item{transition:opacity .3s;transform:none}}.fp-card{border:1.5px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);min-height:160px;color:var(--color-text);transition:box-shadow var(--transition-base),border-color var(--transition-base);flex-direction:row;text-decoration:none;display:flex;overflow:hidden}.fp-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--color-primary)60%,transparent)}.fp-card__img-wrap{width:var(--fp-card-img-w);flex-shrink:0;align-self:stretch;position:relative;overflow:hidden}.fp-card__img{object-fit:cover;transition:transform var(--transition-base)}.fp-card:hover .fp-card__img{transform:scale(1.04)}.fp-card__img-placeholder{background:var(--color-surface-alt);width:100%;height:100%}.fp-card__body{min-width:0;padding:var(--space-5)var(--space-6);gap:var(--space-2);flex-direction:column;flex:1;justify-content:center;display:flex}.fp-card__title{font-size:var(--font-size-lg);font-weight:600;line-height:var(--line-height-tight)}.fp-card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (max-width:640px){.fp-timeline{--fp-gutter:2.5rem;--fp-line-inset:1rem;--fp-card-img-w:110px}.fp-card{min-height:120px}.fp-card__body{padding:var(--space-3)var(--space-4)}.fp-card__desc{-webkit-line-clamp:2;line-clamp:2}}
.hero{padding-block:var(--space-24);background-color:var(--color-primary);color:var(--color-text-inverse);text-align:center;background-position:50%;background-size:cover;position:relative;overflow:hidden}.hero__overlay{z-index:0;background-color:#00000073;position:absolute;inset:0}.hero__content{z-index:1;max-width:var(--max-width-narrow);padding-inline:var(--space-6);margin-inline:auto;position:relative}.hero__title{font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));margin-block-end:var(--space-4);font-weight:700}.hero__subtitle{font-size:var(--font-size-lg);opacity:.9;margin-block-end:var(--space-8)}.hero__ctas{justify-content:center;gap:var(--space-4);flex-wrap:wrap;display:flex}@media (max-width:768px){.hero{padding-block:var(--space-16)}}
.town-intro{padding-block:var(--space-16);background-color:var(--color-surface-alt)}.town-intro__inner{max-width:var(--max-width-narrow);padding-inline:var(--space-6);text-align:center;margin-inline:auto}.town-intro__heading{font-size:var(--font-size-2xl);color:var(--color-primary);margin-block-end:var(--space-4)}.town-intro__body{font-size:var(--font-size-lg);color:var(--color-text-muted)}
