.tnd-portes{background:var(--color-background);color:var(--color-foreground);padding-top:40px}
.tnd-portes__head{max-width:1200px;margin:0 auto;padding:0 24px 28px;text-align:center}
.tnd-portes__eyebrow{font-family:var(--font-body--family);font-size:12px;letter-spacing:.28em;text-transform:uppercase;margin:0 0 14px;opacity:.8}
.tnd-portes__title{font-family:var(--font-primary--family);font-weight:500;font-size:clamp(32px,3.6vw,52px);line-height:1.08;margin:0;color:var(--color-foreground-heading)}
.tnd-portes__text{font-family:var(--font-body--family);font-size:16px;line-height:1.7;margin-top:14px}
.tnd-portes__text p{margin:0}
.tnd-portes__grid{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:8px}
.tnd-porte{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:var(--h);overflow:hidden;color:#fff;text-align:center;text-decoration:none}
.tnd-porte__media,.tnd-porte__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tnd-porte__media img{object-position:var(--pm,center);transition:transform .7s ease}
.tnd-porte:hover .tnd-porte__media img{transform:scale(1.04)}
.tnd-porte__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(61,43,31,var(--shade)) 0,rgba(61,43,31,var(--shade)) 30%,rgba(61,43,31,0) 75%)}
.tnd-porte__cap{position:relative;max-width:460px;padding:32px 24px 44px}
.tnd-porte__label{position:absolute;top:18px;left:18px;padding:6px 12px;border-radius:2px;font-family:var(--font-body--family);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#3D2B1F}
.tnd-porte__title{font-family:var(--font-primary--family);font-weight:500;font-size:clamp(28px,3.2vw,42px);line-height:1.08;margin:0 0 10px;color:#fff}
.tnd-porte__sub{font-family:var(--font-body--family);font-size:15px;line-height:1.6;margin:0 0 22px}
.tnd-porte__btn{display:inline-block;padding:14px 30px;border:1px solid #fff;background:#fff;color:#3D2B1F;font-family:var(--font-body--family);font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:all .35s ease}
.tnd-porte__title,.tnd-porte__sub{text-shadow:0 1px 2px rgba(61,43,31,.5),0 0 18px rgba(61,43,31,.45)}
.tnd-porte:hover .tnd-porte__btn,.tnd-porte:focus-visible .tnd-porte__btn{background:transparent;color:#fff}
.tnd-porte:focus-visible{outline:none}
.tnd-porte:focus-visible::after{content:"";position:absolute;inset:6px;border:2px solid #fff;box-shadow:0 0 0 2px #3D2B1F;pointer-events:none}
@media (min-width:750px){
.tnd-porte{min-height:max(var(--h),28vw)}
.tnd-porte__media img{object-position:var(--p,center)}
}
@media (min-width:750px) and (max-width:989px){.tnd-porte__label{left:auto;right:18px}}
@media (max-width:749px){
.tnd-portes{padding-top:28px}
.tnd-portes__head{padding:0 16px 20px}
.tnd-portes__eyebrow{font-size:11px;letter-spacing:.2em}
.tnd-portes__title{font-size:clamp(27px,7.6vw,32px)}
.tnd-porte{min-height:var(--hm)}
.tnd-portes--stack .tnd-portes__grid{grid-template-columns:1fr}
.tnd-portes--row .tnd-porte__cap{padding:16px 10px 22px}
.tnd-portes--row .tnd-porte__label{top:10px;left:auto;right:10px;font-size:10px;letter-spacing:.16em;padding:5px 8px}
.tnd-portes--row .tnd-porte__title{font-size:24px}
.tnd-portes--row .tnd-porte__sub{display:none}
.tnd-portes--row .tnd-porte__btn{padding:10px 14px;font-size:11px;letter-spacing:.1em}
.tnd-portes--row.tnd-portes--n3 .tnd-porte__cap{padding:14px 6px 18px}
.tnd-portes--row.tnd-portes--n3 .tnd-porte__title{font-size:17px}
.tnd-portes--row.tnd-portes--n3 .tnd-porte__btn{display:none}
}
@media (prefers-reduced-motion:reduce){.tnd-porte__media img{transition:none}}
