.hero{min-height:calc(100vh - 78px);color:var(--white);display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.48),rgba(0,0,0,.16)),url('/assets/img/hero-correr-lisboa.png');background-size:cover;background-position:center;position:relative}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.hero-inner{width:min(100% - 32px,var(--max));margin:0 auto;padding:80px 0;position:relative;z-index:1}
.hero h1{max-width:920px;font-size:clamp(56px,9vw,124px);line-height:.86;letter-spacing:-5px;margin-bottom:24px;text-transform:uppercase}.hero p{max-width:720px;color:#ededed;font-size:clamp(18px,2vw,24px);line-height:1.45;margin-bottom:30px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:36px}.hero-stats{display:flex;gap:10px;flex-wrap:wrap}.stat-pill{padding:12px 16px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:999px;font-weight:850;color:#f6f6f6}
.path-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.path-card{min-height:210px;border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--lineDark);transition:.2s ease}.path-card:hover{transform:translateY(-3px)}.path-card.dark{background:var(--black);color:var(--white);border-color:var(--black)}.path-card.yellow{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.path-card.light{background:var(--white);color:var(--black)}.path-card h3{font-size:28px;line-height:1;letter-spacing:-1px;margin-bottom:12px}.path-card p{font-size:15px;line-height:1.45;opacity:.78}.arrow{font-size:34px;align-self:flex-end}
.sessions-grid{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:18px;overflow-x:auto;padding-bottom:8px}.session-card{background:var(--black);color:var(--white);border-radius:var(--radius);overflow:hidden;min-width:240px;display:flex;flex-direction:column}.session-top{background:var(--yellow);color:var(--black);padding:18px;display:flex;justify-content:space-between;gap:12px;font-weight:950}.session-body{padding:24px;flex:1;display:flex;flex-direction:column}.session-type{color:var(--yellow);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.session-card h3{font-size:30px;letter-spacing:-1px;line-height:.95;margin-bottom:16px}.session-meta{color:#d5d5d5;line-height:1.55;margin-bottom:18px;font-size:15px}.session-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.tag{border-radius:999px;background:#191919;border:1px solid var(--line);padding:7px 10px;font-size:12px;font-weight:800}.session-card .btn{margin-top:auto;width:100%}
.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch}.feature-main{border-radius:var(--radius);background:#101010;border:1px solid var(--line);padding:42px;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end}.feature-main h2{font-size:clamp(46px,6vw,84px);line-height:.88;letter-spacing:-3px;text-transform:uppercase;margin-bottom:22px}.feature-main p{font-size:19px;line-height:1.5;max-width:640px;margin-bottom:26px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feature-item{border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px;min-height:112px;display:flex;align-items:flex-end;font-weight:950;background:#111}
.events-grid,.tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-card,.tip-card{border-radius:var(--radius);padding:28px;background:var(--white);border:1px solid #e4e4e4;min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.event-card h3,.tip-card h3{font-size:30px;line-height:1;letter-spacing:-1px;margin-bottom:16px}.card-muted{color:var(--gray);line-height:1.5;font-weight:700}
.shop-strip{border-radius:var(--radius);background:linear-gradient(90deg,var(--yellow),#fff2a6);padding:44px;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}.product-placeholder{min-height:250px;border:2px dashed rgba(0,0,0,.26);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-weight:950}
.partners-block{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.partners-box{border-radius:var(--radius);background:#111;border:1px solid var(--line);padding:28px}.partners-box h3{font-size:26px;margin-bottom:18px}.logos-grid{display:grid;grid-template-columns:1fr;gap:12px}.logo-box{min-height:86px;border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;color:#e7e7e7;font-weight:950;background:#151515}.logo-box img{max-width:150px;max-height:58px;object-fit:contain;filter:grayscale(1) brightness(1.8);opacity:.9}.logo-box:hover img{filter:none;opacity:1}
@media(max-width:1100px){.path-grid{grid-template-columns:repeat(3,1fr)}.sessions-grid{grid-template-columns:repeat(4,260px)}}
@media(max-width:860px){.hero{min-height:78vh}.hero h1{letter-spacing:-3px}.feature-grid,.shop-strip,.partners-block{grid-template-columns:1fr;display:grid}.events-grid,.tips-grid{grid-template-columns:1fr}.feature-list{grid-template-columns:1fr}}
@media(max-width:580px){.hero-inner{width:min(100% - 24px,var(--max))}.hero h1{font-size:54px;letter-spacing:-2px}.hero p{font-size:17px}.hero-actions .btn{width:100%}.path-grid{grid-template-columns:1fr}.feature-main,.shop-strip{padding:26px}.feature-main{min-height:360px}}


.home-products-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}

.home-product-card{
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.08);
}

.home-product-image{
  display:block;
  aspect-ratio:4/5;
  background:#f3f3f3;
  overflow:hidden;
}

.home-product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s ease;
}

.home-product-card:hover .home-product-image img{
  transform:scale(1.04);
}

.home-product-info{
  padding:22px;
}

.home-product-info h3{
  margin:10px 0 8px;
  font-size:24px;
}

.home-product-info p{
  color:#555;
  line-height:1.5;
  margin:0 0 18px;
}

.product-badge{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#ffd400;
  color:#000;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}

.home-product-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}

.home-product-bottom strong{
  font-size:22px;
  color:#000;
}

@media(max-width:900px){
  .home-products-grid{
    grid-template-columns:1fr;
  }
}