/* Fashion Bikini Week: image-led editorial surface using the HTML site's design tokens. */
.fbw-page{background:#fff;color:var(--color-text-dark);font-family:var(--font-body)}.fbw-page h1,.fbw-page h2,.fbw-page h3,.fbw-page strong{font-family:var(--font-headings)}.fbw-narrow{width:min(1080px,calc(100% - 40px));margin:auto}.fbw-hero{position:relative;height:clamp(250px,31vw,430px);overflow:hidden;background:var(--color-secondary)}.hero-panels{height:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;transform:skewX(-4deg) scale(1.08)}.hero-panels img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.08)}.fbw-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0003,#0000 50%,#0003)}.fbw-hero h1{position:absolute;inset:0;z-index:1;display:grid;place-items:center;color:#fff;font-size:clamp(1.7rem,4vw,3.2rem);font-weight:600;text-shadow:0 2px 12px #000;letter-spacing:.03em}.fbw-about{padding:4.5rem 0 3.5rem;background:var(--color-bg-card)}.eyebrow{color:var(--color-primary);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-align:center;margin-bottom:.7rem}.fbw-about h2{text-align:center;color:var(--color-primary);font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:1rem}.fbw-about p{max-width:950px;margin:.8rem auto;font-size:.95rem;line-height:1.75}.organizers{text-align:center;padding:2.8rem 0 3.8rem;border-bottom:1px solid var(--color-border)}.organizers h2,.winners h2,.gallery-section h2,.video-section h2{color:var(--color-primary);font-size:clamp(1.3rem,2.5vw,2rem);letter-spacing:.02em}.organizer-grid{display:grid;grid-template-columns:repeat(3,130px);justify-content:center;gap:5rem;margin-top:1.3rem}.organizer-grid figure{margin:0}.organizer-grid img{width:90px;height:135px;border-radius:18px;object-fit:cover}.organizer-grid figcaption{font-size:.75rem;font-weight:700;margin-top:.35rem}.winners{background:#eff9fa;padding:1.5rem 0 4.5rem;text-align:center}.hint{font-size:.75rem;margin:2.8rem 0 1.3rem}.winner-grid{display:grid;grid-template-columns:repeat(3,165px);justify-content:center;gap:2rem}.winner-grid a{display:flex;flex-direction:column;align-items:center}.winner-grid img{width:165px;height:250px;object-fit:cover}.winner-grid strong{color:#4e665d;font-size:1rem;margin-top:1rem}.winner-grid small{font-size:.65rem;color:var(--color-text-muted);margin-top:.35rem}.gallery-section{background:#eff9fa;padding:1rem 0 4rem;text-align:center}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.2rem}.photo-grid img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;cursor:zoom-in;transition:transform .25s ease}.photo-grid img:hover{transform:scale(1.02)}.video-section{background:#eff9fa;text-align:center;padding:1rem 0 4.5rem}.video-placeholder{width:min(900px,100%);aspect-ratio:16/9;background:#000;margin:2rem auto 0;display:grid;place-items:center}.video-placeholder span{display:grid;place-items:center;width:4rem;height:4rem;border:2px solid #fff;border-radius:50%;color:#fff;padding-left:.2rem}.gallery-2022{padding-top:1rem}.fbw-cta{padding:4rem 1rem;text-align:center;background:var(--color-bg-light)}.fbw-cta h2{color:var(--color-primary);font-size:1.8rem;margin-bottom:1.2rem}.fbw-cta a{display:inline-block;background:var(--color-primary);color:#fff;padding:.75rem 1.4rem;font-size:.75rem;font-weight:800}
@media(max-width:700px){.organizer-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.winner-grid{grid-template-columns:repeat(2, minmax(120px,165px));gap:1.3rem}.winner-grid a:last-child{grid-column:1/-1;justify-self:center}.photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:430px){.fbw-narrow{width:calc(100% - 28px)}.organizer-grid img{width:75px;height:112px}.winner-grid img{width:140px;height:210px}}
