@font-face{font-family:Sifonn;src:url('/assets/fonts/sifonn.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans.woff2') format('woff2');font-display:swap;font-weight:100 1000}
:root{color-scheme:dark;--gutter:clamp(24px,5.6vw,108px);--line:#393939;--muted:#c8c8c8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#000;color:#fff;font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
a:focus-visible{outline:2px solid #fff;outline-offset:6px}
::selection{background:#fff;color:#000}
.skip-link{position:fixed;top:12px;left:16px;z-index:10;padding:12px 18px;background:#fff;color:#000;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:32px var(--gutter);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;flex-direction:column;width:120px;flex-shrink:0}
.brand img{width:120px;height:auto;display:block}
.brand span{font-size:11px;letter-spacing:.07em;margin-top:4px}
.site-header nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,34px);padding-top:14px;font-size:14px}
.site-header nav a{padding:8px 0;border-bottom:1px solid transparent;white-space:nowrap}
.site-header nav a:hover{border-color:#fff}
h1,h2,h3{font-family:Sifonn,sans-serif;font-weight:400;letter-spacing:-.03em;text-wrap:balance}
.catalogue-intro{position:relative;isolation:isolate;max-width:1550px;margin:auto;padding:55px var(--gutter) 58px;border-bottom:1px solid var(--line)}
.catalogue-intro::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000 4%,rgba(0,0,0,.94) 38%,rgba(0,0,0,.35)),url('/assets/experiences/bad-bunny-marseille-piste-1440.jpg') center 48%/cover}
h1{font-size:clamp(68px,9vw,132px);line-height:1;margin:0 0 26px}
.intro-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px}
.intro-bottom p{max-width:830px;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:#dedede;margin:0}
.jump-nav{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}
.jump-nav a{padding:10px 0;border-bottom:1px solid #777;white-space:nowrap}
.jump-nav a:hover{border-color:#fff}
.photo-chapter{max-width:1550px;margin:auto;padding:58px var(--gutter) 0}
.chapter-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:end;gap:50px;margin-bottom:42px}
.chapter-heading h2{font-size:clamp(54px,6vw,88px);line-height:1.05;margin:0}
.chapter-heading p{max-width:430px;color:var(--muted);font-size:17px;line-height:1.7;margin:0}
.album-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin:-12px 0 58px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;color:#d5d5d5}
.album-nav a{padding:6px 0;border-bottom:1px solid transparent}
.album-nav a:hover{border-color:#fff;color:#fff}
.experience{scroll-margin-top:35px;margin:0 0 110px}
.experience-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:55px;margin-bottom:34px}
.experience-place{margin:0 0 14px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#bcbcbc}
.experience-heading h3{font-size:clamp(36px,4vw,62px);line-height:1.12;margin:0}
.experience-heading>p{max-width:440px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.event-gallery{display:grid;gap:clamp(16px,2vw,28px)}
.event-gallery--feature-three{grid-template-columns:1.1fr 1fr;grid-template-rows:310px 310px}
.event-gallery--feature-three .photo-item:first-child{grid-row:1/3}
.event-gallery--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.event-gallery--two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.event-gallery--celine{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);align-items:start}
.photo-item{margin:0;min-width:0}
.photo-item img{display:block;width:100%;height:auto;background:#161616}
.event-gallery--feature-three .photo-item img{height:calc(100% - 36px);object-fit:cover}
.event-gallery--feature-three .photo-item:first-child img{object-position:center 45%}
.event-gallery--three .photo-item img{aspect-ratio:3/4;object-fit:cover}
.event-gallery--celine .photo-item:first-child img{max-height:740px;object-fit:cover;object-position:center 46%}
.single-moments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,72px)}
.experience--single{margin-bottom:80px}
.experience--single .experience-heading{display:block;min-height:184px;margin-bottom:24px}
.experience--single .experience-heading h3{font-size:clamp(32px,3.3vw,49px);margin-bottom:16px}
.experience--single .photo-item img{aspect-ratio:4/3;object-fit:cover;object-position:center 45%}
.experience--single#jul .photo-item img{object-position:center 35%}
.photo-item figcaption{color:#c7c7c7;font-size:13px;line-height:1.5;margin-top:11px}
.sports-chapter{padding-top:105px}
.chapter-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;border-bottom:1px solid #999;margin-top:34px;font-size:15px}
.chapter-link:hover{border-color:#fff}
.contact-section{max-width:1550px;margin:170px auto 0;padding:75px var(--gutter) 115px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:65px}
.contact-section h2{font-size:clamp(42px,5vw,74px);line-height:1.08;margin:0 0 28px}
.contact-section p{max-width:710px;font-size:18px;line-height:1.7;color:var(--muted);margin:0}
.contact-action{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-height:58px;padding:16px 20px;background:#fff;color:#000;font-size:15px;font-weight:600;white-space:nowrap}
.contact-action:hover{background:#ddd}
.site-footer{margin:0 var(--gutter);padding:28px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;color:#bcbcbc}
.site-footer a:hover{text-decoration:underline}
@media(max-width:960px){.intro-bottom{grid-template-columns:1fr;gap:32px}.contact-section{grid-template-columns:1fr;gap:30px}.contact-action{justify-self:start}}
@media(max-width:760px){.site-header{padding-top:20px;align-items:center}.brand,.brand img{width:95px}.site-header nav{gap:18px;padding-top:0;font-size:12px}.catalogue-intro{padding-top:55px;padding-bottom:50px}h1{margin-bottom:27px}.intro-bottom p{font-size:18px}.photo-chapter{padding-top:65px}.chapter-heading{display:block;margin-bottom:45px}.chapter-heading h2{margin-bottom:20px}.chapter-heading p{font-size:16px}.experience{margin-bottom:100px}.experience-heading{grid-template-columns:1fr;gap:16px}.event-gallery--feature-three,.event-gallery--three,.event-gallery--two,.event-gallery--celine{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:24px 16px}.event-gallery--feature-three .photo-item:first-child{grid-column:auto;grid-row:auto}.event-gallery--feature-three .photo-item img,.event-gallery--three .photo-item img{height:auto;aspect-ratio:3/4;object-fit:cover}.event-gallery--celine .photo-item:first-child img{max-height:none}.experience--single .experience-heading{min-height:230px}.sports-chapter{padding-top:75px}.contact-section{margin-top:100px;padding-top:65px;padding-bottom:85px}.contact-section p{font-size:16px}.site-footer{flex-wrap:wrap}.site-footer span{width:100%;order:3}}
@media(max-width:480px){.site-header{display:block}.brand{margin-bottom:14px}.site-header nav{justify-content:space-between;flex-wrap:wrap;gap:6px 15px}.site-header nav a{padding:8px 0}.catalogue-intro{padding-top:54px}.catalogue-intro::before{background:linear-gradient(180deg,rgba(0,0,0,.64),rgba(0,0,0,.78)),url('/assets/experiences/bad-bunny-marseille-piste-960.jpg') center 48%/cover}.intro-bottom p{font-size:17px}.jump-nav{gap:10px 20px}.photo-chapter{padding-left:24px;padding-right:24px}.album-nav{gap:4px 18px;margin-bottom:44px}.experience-heading h3{font-size:38px}.event-gallery--feature-three,.event-gallery--three,.event-gallery--two,.event-gallery--celine,.single-moments{grid-template-columns:1fr;gap:32px}.event-gallery--feature-three .photo-item img,.event-gallery--three .photo-item img{aspect-ratio:auto;object-fit:contain}.event-gallery--celine .photo-item:first-child img{max-height:680px}.experience--single{margin-bottom:80px}.experience--single .experience-heading{min-height:0}.experience--single .photo-item img{aspect-ratio:3/4}.contact-action{white-space:normal;width:100%}}
@media(max-width:360px){.site-header nav{display:grid;grid-template-columns:repeat(3,max-content);justify-content:space-between;gap:0 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
