.homepage-container{background-color:var(--ibeva-canvas);flex-direction:column;min-height:100vh;display:flex}.homepage-main{flex:1}.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}.hero-section{background-color:var(--ibeva-charcoal-deep);padding-top:5rem;padding-bottom:5rem;position:relative;overflow:hidden}.hero-content{z-index:1;max-width:42rem;position:relative}.hero-badge{background-color:var(--ibeva-sand-soft);color:var(--ibeva-primary-dark);border:none;border-radius:9999px;margin-bottom:1.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.hero-title{letter-spacing:-.04em;color:var(--ibeva-on-dark);text-wrap:balance;margin-bottom:1rem;font-size:2.25rem;font-weight:700;line-height:1.1}.hero-description{color:var(--ibeva-on-dark-muted);text-wrap:pretty;margin-bottom:2rem;font-size:1.125rem;font-weight:400;line-height:1.5}.hero-buttons{flex-direction:column;gap:.75rem;display:flex}.events-section{background-color:var(--ibeva-surface-soft);padding-top:4rem;padding-bottom:4rem}.events-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.events-title{color:var(--ibeva-ink);font-size:1.3125rem;font-weight:700;line-height:1.43}.events-grid{grid-template-columns:1fr;gap:1rem;display:grid}.event-link{color:inherit;text-decoration:none}.event-card{background-color:var(--ibeva-canvas);box-shadow:none;cursor:pointer;border:none;border-radius:.875rem;transition:box-shadow .2s;overflow:hidden}.event-card:hover{box-shadow:var(--shadow-card)}.event-image-container{aspect-ratio:1;border-radius:.875rem;position:relative;overflow:hidden}.event-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.event-card:hover .event-image{transform:scale(1.03)}.event-badge{background-color:var(--ibeva-primary);color:#fff;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:.375rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;line-height:1.18;position:absolute;top:.75rem;left:.75rem}.event-badge--trail{background-color:var(--ibeva-category-trail);color:#fff}.event-badge--bike{background-color:var(--ibeva-category-bike);color:var(--ibeva-ink)}.event-badge--water{background-color:var(--ibeva-category-water);color:#fff}.event-badge--rock{background-color:var(--ibeva-category-rock);color:#fff}.difficulty-badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.6875rem;font-weight:600;line-height:1.4;display:inline-flex}.difficulty-badge--beginner{background-color:var(--ibeva-difficulty-beginner);color:#fff}.difficulty-badge--intermediate{background-color:var(--ibeva-difficulty-intermediate);color:var(--ibeva-ink)}.difficulty-badge--extreme{background-color:var(--ibeva-difficulty-extreme);color:#fff}.event-card .event-meta{padding:.75rem 0 0}.event-title{color:var(--ibeva-ink);font-size:1rem;font-weight:600;line-height:1.25}.event-info{color:var(--ibeva-muted);align-items:center;gap:.25rem;margin-top:.25rem;font-size:.875rem;font-weight:400;display:flex}.event-info-icon{flex-shrink:0;width:.875rem;height:.875rem}.event-participants{color:var(--ibeva-muted);align-items:center;gap:.375rem;margin-top:.25rem;font-size:.875rem;font-weight:400;display:flex}.event-participants-icon{width:.875rem;height:.875rem}.features-section{background-color:var(--ibeva-canvas);padding-top:4rem;padding-bottom:4rem}.features-title{color:var(--ibeva-ink);text-align:center;margin-bottom:2.5rem;font-size:1.3125rem;font-weight:700;line-height:1.43}.features-grid{grid-template-columns:1fr;gap:1rem;display:grid}.feature-icon{width:2rem;height:2rem;color:var(--ibeva-primary);margin-bottom:.75rem}.categories-section{background-color:var(--ibeva-surface-soft);padding-top:4rem;padding-bottom:4rem}.categories-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.categories-title{color:var(--ibeva-ink);font-size:1.3125rem;font-weight:700;line-height:1.43}.categories-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.category-link{color:inherit;text-decoration:none}.category-card{background-color:var(--ibeva-canvas);box-shadow:none;cursor:pointer;border:none;border-radius:.875rem;transition:box-shadow .2s}.category-card:hover{box-shadow:var(--shadow-card)}.category-header{text-align:center;padding:1.5rem 1rem}.category-icon{width:2.5rem;height:2.5rem;color:var(--ibeva-primary);margin-bottom:.75rem;margin-left:auto;margin-right:auto}.category-name{color:var(--ibeva-ink);font-size:1rem;font-weight:600;line-height:1.25}.category-count{color:var(--ibeva-muted);margin-top:.25rem;font-size:.875rem;font-weight:400}.cta-section{background-color:var(--ibeva-canvas);padding-top:4rem;padding-bottom:4rem}.cta-card{background-color:var(--ibeva-charcoal-deep);color:var(--ibeva-on-dark);text-align:center;border:none;border-radius:.75rem;padding:3rem 2rem}.cta-header{text-align:center;margin-bottom:1.5rem;padding:0}.cta-title{color:var(--ibeva-on-dark);margin-bottom:.75rem;font-size:1.5rem;font-weight:700;line-height:1.3}.cta-description{color:var(--ibeva-on-dark-muted);max-width:36rem;margin-left:auto;margin-right:auto;font-size:1rem;font-weight:400;line-height:1.5}.cta-content{justify-content:center;margin-top:1.5rem;display:flex}.btn-on-dark{background-color:var(--ibeva-primary);color:#fff;border:none;border-radius:9999px;font-weight:600}.icon-button{width:1.125rem;height:1.125rem;margin-left:.375rem}.icon-small{width:1rem;height:1rem;margin-left:.375rem}@media (min-width:768px){.hero-section{padding-top:6rem;padding-bottom:6rem}.hero-title{letter-spacing:-.03em;font-size:3rem}.hero-buttons{flex-direction:row}.events-section,.features-section,.categories-section,.cta-section{padding-top:4rem;padding-bottom:4rem}.features-grid{grid-template-columns:repeat(3,1fr)}.categories-grid{grid-template-columns:repeat(4,1fr)}.events-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.container{padding-left:5rem;padding-right:5rem}.hero-section{padding-top:7.5rem;padding-bottom:7.5rem}.hero-title{letter-spacing:-.04em;font-size:3.5rem}.events-section,.features-section,.categories-section,.cta-section{padding-top:4rem;padding-bottom:4rem}}@media (min-width:1280px){.hero-title{letter-spacing:-.05em;font-size:4.5rem;line-height:1.1}.hero-section{padding-top:7.5rem;padding-bottom:7.5rem}}
