/* Theme Name: Spoutniik Sport Portfolio
Theme URI: https://spoutniik.world
Description: Portfolio photographique sportif léger.
Version: 1.0.0
Text Domain: spoutniik-sport */
:root{--bg:#0a0b0d;--surface:#121419;--ink:#f7f7f3;--muted:#a9adb8;--accent:#c7ff34;--line:color-mix(in srgb,var(--ink) 15%,transparent)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem clamp(1.25rem,4vw,4rem);border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{font-weight:800;letter-spacing:.12em;text-transform:uppercase}.site-nav a{color:var(--muted);font-size:.9rem}.site-nav a:hover{color:var(--ink)}.wrap{max-width:1500px;margin:auto;padding:0 clamp(1.25rem,4vw,4rem)}.hero{padding:clamp(4rem,12vw,10rem) 0 3rem;max-width:850px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800}.hero h1,.team-title{font-size:clamp(3rem,8vw,7.5rem);letter-spacing:-.07em;line-height:.92;margin:.75rem 0 1.25rem}.hero p{font-size:clamp(1.1rem,2vw,1.4rem);color:var(--muted);max-width:42rem}.teams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;padding-bottom:5rem}.team-card{aspect-ratio:4/5;background:var(--surface);position:relative;overflow:hidden;border-radius:.35rem;isolation:isolate}.team-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s;filter:brightness(.78)}.team-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.82));z-index:-1}.team-card__text{position:absolute;left:1.25rem;right:1.25rem;bottom:1.15rem}.team-card__text h2{margin:.3rem 0 0;font-size:clamp(1.4rem,2.5vw,2.2rem);line-height:1}.team-card:hover img{transform:scale(1.045);filter:brightness(.95)}.empty{padding:2rem;border:1px dashed var(--line);color:var(--muted)}.team-head{padding:5rem 0 2rem}.taxonomy{display:flex;gap:.5rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.tag{border:1px solid var(--line);padding:.3rem .65rem;border-radius:20px}.gallery{columns:3 280px;column-gap:1rem;padding-bottom:5rem}.gallery-item{display:block;margin:0 0 1rem;break-inside:avoid;position:relative;background:var(--surface);border-radius:.3rem;overflow:hidden}.gallery-item img{display:block;width:100%;height:auto;transition:transform .35s}.gallery-item:hover img{transform:scale(1.02)}.lightbox{position:fixed;inset:0;background:rgba(3,4,6,.96);z-index:20;display:none;align-items:center;justify-content:center;padding:4rem 1rem}.lightbox.is-open{display:flex}.lightbox img{max-width:100%;max-height:calc(100vh - 4rem);object-fit:contain}.lightbox button{position:absolute;border:0;background:transparent;color:#fff;font-size:2.4rem;padding:1rem;cursor:pointer}.lightbox .close{top:0;right:0}.lightbox .prev{left:0;top:50%}.lightbox .next{right:0;top:50%}.site-footer{padding:2rem clamp(1.25rem,4vw,4rem);border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;display:flex;gap:2rem;justify-content:space-between;align-items:start}.footer-widgets{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:2rem}.footer-widget{max-width:260px}.footer-widget__title{margin:0 0 .5rem;color:var(--ink);font-size:.9rem}.footer-widget p,.footer-widget ul{margin:.25rem 0;padding:0;list-style:none}.footer-widget a{color:var(--muted)}.footer-widget a:hover{color:var(--accent)}@media(max-width:600px){.gallery{columns:2 150px}.lightbox .prev,.lightbox .next{font-size:1.8rem}.site-footer{display:block}.footer-widgets{margin-top:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
