@font-face{font-family:Fredoka;src:url(assets/fonts/fredoka.woff2) format("woff2");font-weight:300 700;font-display:swap}
:root{--glass-a:#177ca9;--glass-b:#104b70;--foam:#f0f9ff;--mist:#b9dcec;--gold:#ffe0a0;--deep:#04141f;--display:Fredoka,ui-rounded,system-ui,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--deep);color:var(--foam);font:17px/1.6 system-ui,"Segoe UI",sans-serif}
img{display:block;max-width:100%}a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;color:#000;padding:8px 12px;border-radius:8px}
.wrap{width:min(1180px,92vw);margin:0 auto}
/* boutons : source commune src/ui/landing-buttons.css (copie) */
.btn{--h:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--h);padding:0 24px;font:700 17px/1 var(--display);letter-spacing:.02em;text-decoration:none;border-radius:999px;border:0;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s;position:relative;isolation:isolate;overflow:hidden;white-space:nowrap}
.btn svg{width:1.15em;height:1.15em;fill:currentColor;flex:none}.btn--sm{--h:42px;padding:0 18px;font-size:15px}.btn--lg{--h:60px;padding:0 32px;font-size:20px}
.btn--gold{color:#4a2a00;background:linear-gradient(180deg,#fff3b8 0%,#ffd452 38%,#f5aa1c 78%,#e08e0b 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.85),inset 0 -3px 0 rgba(150,80,0,.45),0 0 0 2px #8a4f06,0 8px 22px -6px rgba(214,130,10,.75),0 2px 0 3px rgba(255,255,255,.18);text-shadow:0 1px 0 rgba(255,245,200,.8)}
.btn--gold::after{content:'';position:absolute;inset:-40% auto -40% -60%;width:40%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:shine 4.8s ease-in-out infinite}
@keyframes shine{0%,60%{left:-60%}100%{left:140%}}
.btn--gold:hover{transform:translateY(-2px) scale(1.02)}.btn--gold:active{transform:translateY(1px)}
.btn--glass{color:var(--foam);background:linear-gradient(180deg,rgba(40,150,200,.42),rgba(16,75,112,.55));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 0 0 1px rgba(170,230,255,.45),0 10px 26px -12px rgba(0,30,60,.8);backdrop-filter:blur(10px) saturate(1.3)}
.btn--glass:hover{transform:translateY(-2px);background:linear-gradient(180deg,rgba(60,175,225,.55),rgba(20,95,140,.65))}
.btn:focus-visible{outline:2px solid #fff3b8;outline-offset:3px}
/* nav */
.nav{position:fixed;inset:14px 0 auto;z-index:20;display:flex;justify-content:center;pointer-events:none}
.nav__bar{pointer-events:auto;display:flex;align-items:center;gap:26px;padding:8px 10px 8px 22px;border-radius:999px;background:linear-gradient(180deg,rgba(23,124,169,.38),rgba(16,75,112,.5));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 0 1px rgba(143,227,255,.35),0 14px 40px -14px rgba(0,20,40,.8);backdrop-filter:blur(14px) saturate(1.3)}
.nav__brand{display:flex;align-items:center}.nav__brand img{height:34px;width:auto}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}.nav a{text-decoration:none;font:600 15px var(--display)}.nav ul a:hover{color:var(--gold)}
@media(max-width:760px){.nav ul{display:none}}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0}.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,31,.85) 0%,rgba(4,20,31,.5) 38%,transparent 66%),linear-gradient(0deg,var(--deep) 0%,transparent 28%)}
.hero__in{position:relative;z-index:2;padding:60px 0 36vh}
.hero h1{margin:0;max-width:7.2em;font:700 clamp(46px,6.6vw,96px)/.98 var(--display);letter-spacing:-.01em;text-shadow:0 4px 30px rgba(0,20,40,.6)}
.hero h1 em{display:block;font-style:normal;color:var(--gold);text-shadow:0 0 36px rgba(255,224,160,.35),0 4px 24px rgba(0,20,40,.6)}
.hero p{max-width:34em;margin:20px 0 28px;font-size:clamp(17px,1.5vw,21px);color:#e6f6ff;text-shadow:0 2px 14px rgba(0,20,40,.7)}
.row{display:flex;gap:12px;flex-wrap:wrap}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.chips span{font:600 13px var(--display);padding:7px 13px;border-radius:999px;background:rgba(143,227,255,.14);box-shadow:inset 0 0 0 1px rgba(143,227,255,.4);backdrop-filter:blur(8px)}
/* sections */
section{position:relative;padding:clamp(70px,10vw,130px) 0}
.kicker{font:700 13px var(--display);letter-spacing:.16em;text-transform:uppercase;color:#8fe3ff;margin:0 0 10px}
h2{margin:0 0 14px;font:700 clamp(32px,4.4vw,56px)/1.05 var(--display)}h2 em{font-style:normal;color:var(--gold)}
.lead{max-width:44em;color:var(--mist);font-size:19px;margin:0 0 40px}
.glass{background:linear-gradient(180deg,rgba(23,124,169,.28),rgba(16,75,112,.38));border-radius:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 0 0 1px rgba(143,227,255,.3),0 24px 60px -24px rgba(0,10,25,.9)}
/* galerie */
.gal{display:grid;gap:18px;grid-template-columns:repeat(12,1fr)}
.shot{position:relative;border-radius:22px;overflow:hidden;margin:0;box-shadow:0 0 0 1px rgba(143,227,255,.3),0 24px 50px -22px #000;aspect-ratio:3/2;grid-column:span 6;isolation:isolate}
.shot:nth-child(1),.shot:nth-child(4){grid-column:span 12;aspect-ratio:21/9}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.shot:hover img{transform:scale(1.04)}
.shot figcaption{position:absolute;inset:auto 0 0;padding:44px 22px 18px;background:linear-gradient(0deg,rgba(4,20,31,.88),transparent)}
.shot b{display:block;font:700 22px var(--display)}.shot span{font-size:15px;color:var(--mist)}
@media(max-width:760px){.shot,.shot:nth-child(1),.shot:nth-child(4){grid-column:span 12;aspect-ratio:3/2}}
/* expeditions */
.exp{display:grid;gap:40px;grid-template-columns:1.1fr 1fr;align-items:center}
@media(max-width:900px){.exp{grid-template-columns:1fr}}
.exp__img img{width:100%;height:100%;object-fit:cover}.exp__img{aspect-ratio:3/2;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px rgba(143,227,255,.3),0 30px 60px -24px #000}
.posts{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin:24px 0 0;padding:0;list-style:none}
.posts li{padding:14px 16px;border-radius:14px}.posts b{display:block;font:700 17px var(--display);color:var(--gold)}.posts span{font-size:14px;color:var(--mist)}
.tag{display:inline-block;margin-bottom:14px;font:700 12px var(--display);letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:99px;background:rgba(255,224,160,.14);color:var(--gold);box-shadow:inset 0 0 0 1px rgba(255,224,160,.45)}
/* combat */
.combat{background:radial-gradient(80% 60% at 70% 30%,rgba(55,200,255,.12),transparent),var(--deep)}
.combat__img{border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px rgba(143,227,255,.3),0 40px 80px -30px #000}
.trio{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:30px}@media(max-width:800px){.trio{grid-template-columns:1fr}}
.trio div{padding:20px;border-radius:18px}.trio b{display:block;font:700 19px var(--display);margin-bottom:4px}.trio span{color:var(--mist);font-size:15px}
/* final */
.final{text-align:center;overflow:hidden}.final__bg{position:absolute;inset:0;opacity:.5}.final__bg img{width:100%;height:100%;object-fit:cover}
.final::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,var(--deep),rgba(4,20,31,.55) 40%,var(--deep))}
.final .wrap{position:relative;z-index:2}.final .row{justify-content:center}.final p{color:var(--mist);max-width:36em;margin:0 auto 28px}
footer{padding:36px 0 50px;color:var(--mist);font-size:14px;text-align:center}footer a{margin:0 10px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.btn--gold::after{animation:none}html{scroll-behavior:auto}}
@media(max-width:700px){.hero__bg img{object-position:39% 50%}.hero__in{padding-bottom:26vh}}

.shotlink{grid-column:span 6;text-decoration:none;display:block}.shotlink .shot{aspect-ratio:3/2}.shotlink:nth-child(1),.shotlink:nth-child(4){grid-column:span 12}.shotlink .shot{grid-column:auto;height:100%}.shotlink:nth-child(1) .shot,.shotlink:nth-child(4) .shot{aspect-ratio:21/9}
.more{position:absolute;top:14px;right:14px;z-index:3;font:700 14px var(--display);padding:8px 14px;border-radius:99px;background:rgba(4,20,31,.7);box-shadow:inset 0 0 0 1px rgba(143,227,255,.5);opacity:0;transform:translateY(-4px);transition:.3s}.shotlink:hover .more,.shotlink:focus-visible .more{opacity:1;transform:none}
@media(max-width:760px){.shotlink,.shotlink:nth-child(1),.shotlink:nth-child(4){grid-column:span 12}.shotlink .shot,.shotlink:nth-child(1) .shot,.shotlink:nth-child(4) .shot{aspect-ratio:3/2}.more{opacity:1}}
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.card{display:block;border-radius:20px;overflow:hidden;text-decoration:none;background:linear-gradient(180deg,rgba(23,124,169,.22),rgba(16,75,112,.34));box-shadow:inset 0 0 0 1px rgba(143,227,255,.28);transition:transform .3s var(--ease)}.card:hover{transform:translateY(-4px)}.card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.card div{padding:14px 16px 18px;display:grid;gap:6px;justify-items:start}.card b{font:700 20px var(--display)}.card span{color:var(--mist);font-size:14px}
.st{font:700 10px var(--display);font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:99px;background:rgba(143,227,255,.14);color:#b9e9ff;box-shadow:inset 0 0 0 1px rgba(143,227,255,.4)}.st-prototype{background:rgba(255,224,160,.14);color:var(--gold)}.st-indesign,.st-concept{background:rgba(190,170,255,.14);color:#d5c9ff}
