@font-face{font-family:Ruda;font-weight:900;font-display:swap;src:url(../fonts/ruda-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-weight:900;font-display:swap;src:url(../fonts/fraunces-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url(../fonts/dm-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url(../fonts/dm-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:700;font-display:swap;src:url(../fonts/dm-sans-latin-700-normal.woff2) format("woff2")}
/* Maritime Net : route, cartouches, ancre et houle — dans les couleurs chaudes de la couverture de référence, sans cadre ni faisceau */
:root{--teal:#093a47;--orange:#ff734d;--teal-l:#1a7a8a;--creme:#fffbf4;--bleu:#d3dfef;--orange-l:#faecd6;--encre:#1b2430;--ombre:0 12px 32px rgba(9,58,71,.10)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.125rem/1.65 "DM Sans",system-ui,sans-serif;color:var(--teal);background:linear-gradient(180deg,#fffbf4 0%,#fdecd9 9%,#f6ece4 20%,var(--bleu) 34%,var(--bleu) 100%);overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-underline-offset:.2em}
::selection{background:var(--orange);color:var(--teal)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:.4rem}
.skip{position:absolute;left:-999px;top:0;background:var(--teal);color:var(--creme);padding:.8rem 1rem;z-index:20}
.skip:focus{left:0}
.wrap{max-width:70rem;margin:0 auto;padding:0 1.25rem}
h1{font:900 clamp(2.3rem,6.2vw,3.8rem)/1.08 Fraunces,Georgia,serif;margin:0;letter-spacing:-.01em;color:var(--encre)}
h1::after{content:"";display:block;width:4.5rem;height:3px;margin:1.1rem 0 0;background:var(--orange);border-radius:2px}
h2{font:900 clamp(1.6rem,3.6vw,2.3rem)/1.18 Fraunces,Georgia,serif;margin:0 0 1rem;color:var(--encre)}
p{margin:0 0 1rem}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.1rem 1.5rem;padding-top:1rem;padding-bottom:.4rem}
.brand{font:900 1.3rem Ruda,sans-serif;color:var(--teal);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:.5rem}
.brand svg{width:22px;height:22px;flex:none}
.section-head{display:flex;align-items:baseline;gap:.9rem}
.section-head h2{margin:0}
.section-head svg{width:28px;height:28px;flex:none;color:var(--teal)}
/* Houle : signature du monde marin sous le hero */
.swell{display:block;height:28px;width:100%}
.swell path{fill:none;stroke:rgba(9,58,71,.18);stroke-width:1.4}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 .15rem}
nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .7rem;color:var(--teal);font-size:.95rem;font-weight:700;text-decoration:none;border-radius:999px}
nav a:hover{background:rgba(255,251,244,.6);text-decoration:underline}
nav a[aria-current]{background:var(--teal);color:var(--creme)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.7rem 1.7rem;border-radius:999px;font:700 1.125rem "DM Sans",sans-serif;text-decoration:none;border:2px solid transparent;transition:background-color .15s,color .15s}
.btn-main{background:var(--orange);color:var(--teal);box-shadow:0 8px 20px rgba(255,115,77,.30)}
.btn-main:hover{background:var(--teal);color:var(--creme)}
.btn-alt{border-color:var(--teal);color:var(--teal);background:var(--creme)}
.btn-alt:hover{background:var(--bleu)}
.btns{display:flex;flex-wrap:wrap;gap:1rem;margin:1.75rem 0 0}
/* Route : trait pointillé et point de cap orange */
.sep{position:relative;height:0;max-width:68rem;margin:2.75rem 1.25rem;border-top:2px dashed rgba(9,58,71,.35)}
.sep::after{content:"";position:absolute;top:-11px;left:var(--p,50%);width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--orange);box-shadow:0 3px 10px rgba(255,115,77,.4)}
@media(min-width:1000px){.sep{margin-left:auto;margin-right:auto}}
.ico{display:inline-flex;flex:none;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--orange-l)}
.ico svg{width:1.75rem;height:1.75rem}
footer.site{background:var(--teal);color:var(--creme);margin-top:3rem;padding:2.5rem 0 2rem;border-radius:2.5rem 2.5rem 0 0}
footer.site ul{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:0 1.25rem}
footer.site a{color:var(--creme);display:inline-flex;align-items:center;min-height:44px;font-weight:500}
footer.site p{margin:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Bandeau d'accueil : titre nu sur le dégradé, isobathes en filigrane discret, sans cadre ni graticule */
.top{position:relative;overflow:hidden;
 background:url(../img/isobathes.svg) no-repeat 105% 95%/min(70rem,130%) auto,radial-gradient(60% 75% at 8% 0%,#fff3cf 0,rgba(255,243,207,0) 70%),radial-gradient(55% 65% at 92% 8%,var(--bleu),rgba(211,223,239,0) 72%)}
.hero .wrap{display:grid;gap:1rem;padding-top:1rem;padding-bottom:2.5rem}
.txt{position:relative;z-index:2}
.lead{font-size:1.25rem;max-width:38rem;margin:1.5rem 0 0}
.reass{list-style:none;margin:1.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.reass li{background:rgba(255,251,244,.88);border-radius:999px;padding:.35rem 1rem .35rem .8rem;font-weight:500;font-size:1rem;display:inline-flex;align-items:center;gap:.55rem}
.reass li::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--orange);flex:none}
.phare{position:relative;z-index:1;margin:0 auto;width:min(74vw,320px);order:-1}
.phare img{position:relative}
@media(min-width:900px){
 .hero .wrap{grid-template-columns:1.08fr .92fr;align-items:end;gap:2rem;padding-top:2.5rem;padding-bottom:0}
 .txt{align-self:center;padding-bottom:3.5rem}
 .phare{order:0;width:100%;max-width:640px;margin:0 0 0 auto}
}
.panel{padding:4rem 0}
@media(min-width:900px){.panel{padding:5rem 0}}
.panel .intro{max-width:44rem}
.facts{list-style:none;margin:2.5rem 0 0;padding:0}
.facts li{display:grid;grid-template-columns:auto 1fr;gap:0 1.5rem;align-items:start;padding:1.5rem 0;border-top:1px dashed rgba(9,58,71,.25)}
.facts li:first-child{border-top:0;padding-top:0}
.facts li::before{content:"";align-self:start;margin-top:.5rem;width:14px;height:14px;border-radius:50%;background:var(--orange);box-shadow:0 3px 10px rgba(255,115,77,.4)}
.facts p{margin:0;max-width:40rem}
.subst{list-style:none;margin:2.5rem 0 0;padding:0}
.subst li{display:flex;gap:1.25rem;align-items:flex-start;padding:1.25rem 0;border-top:1px dashed rgba(9,58,71,.25)}
.subst li:first-child{border-top:0;padding-top:0}
.subst-txt{display:flex;flex-wrap:wrap;column-gap:.6rem;align-items:baseline;max-width:40rem;min-width:0}
.subst .ico{background:var(--orange);flex:none;margin:0}
.nm{display:block;font:900 1.3rem Fraunces,serif;margin-bottom:.2rem;color:var(--encre)}
.final{position:relative;overflow:hidden;background:linear-gradient(135deg,#093a47,#0d4d5c);color:var(--creme)}
.final .anchor-mark{position:absolute;right:1.25rem;top:1.25rem;width:34px;height:34px;opacity:.45;color:var(--orange);pointer-events:none}
@media(min-width:560px){.final .anchor-mark{right:1.75rem;top:1.75rem;width:56px;height:56px}}
@media(min-width:800px){.final .anchor-mark{right:2.25rem;top:2.25rem;width:72px;height:72px}}
.final .wrap{max-width:50rem}
.final h2{color:var(--creme)}
.final p{font-size:1.2rem}
.final .btn-main{border-color:var(--creme)}
.final .btn-main:hover{background:var(--creme);color:var(--teal)}

/* Variantes de séparateur */
.sep-18{--p:18%}.sep-50{--p:50%}.sep-82{--p:82%}

/* Pages intérieures : cartouche de titre compact */
.top-page .page-head{padding-top:1.25rem;padding-bottom:2rem}
.page-head h1{max-width:46rem}
.page-head .lead{max-width:46rem}
.meta{margin:1.25rem 0 0;font-weight:500}

/* Texte courant */
.prose{padding-top:2.5rem;padding-bottom:1rem}
.prose>*{max-width:68ch}
.lecture{max-width:54.5rem}
.lecture.prose>*,.lecture h1{max-width:68ch}
.top-page+main>.panel:first-child{margin-top:2rem}
.prose h2{margin:2.5rem 0 1rem}
.prose h2:first-child{margin-top:0}
.prose h3{font:900 1.3rem/1.3 Fraunces,serif;margin:2rem 0 .6rem;color:var(--encre)}
.prose ul,.prose ol,.panel .list{margin:0 0 1.25rem;padding-left:1.4rem}
.prose li,.panel .list li{margin:0 0 .5rem}
.prose li::marker,.panel .list li::marker{color:var(--orange);font-weight:700}
.prose hr{border:0;height:0;margin:2.5rem 0;border-top:2px dashed rgba(9,58,71,.35)}
.prose .note{font-size:.95rem}
.panel .list{max-width:44rem}
.panel .btns{margin-top:1.5rem}

/* Formulaire liste d'attente */
.form{max-width:30rem;margin:1.5rem 0 0;padding:1.5rem;background:#fff;border-radius:1.5rem;box-shadow:var(--ombre)}
.form label.lab{display:block;font-weight:700;margin:0 0 .3rem}
.form input[type=text],.form input[type=email]{display:block;width:100%;min-height:48px;margin:0 0 1.1rem;padding:.6rem .9rem;font:inherit;color:var(--teal);background:var(--creme);border:2px solid var(--teal);border-radius:.8rem}
.form .consent{display:flex;gap:.75rem;align-items:flex-start;margin:0 0 .6rem}
.form .consent input{flex:none;width:1.4rem;height:1.4rem;margin:.25rem 0 0;accent-color:var(--teal)}
.form .consent label{font-size:1rem}
.form .small{font-size:.95rem;margin:0 0 1.25rem}
.form input.hp{display:none}
.form .btn{border:0;cursor:pointer;width:100%}
.form .turnstile{margin:0 0 1.25rem}
.form .turnstile .lab{font-weight:700;margin:0 0 .3rem}
.form .turnstile .cf-turnstile{min-height:65px;max-width:100%}
.form .turnstile .small{margin:.4rem 0 0}
@media(max-width:480px){.form{padding:1rem}}
.form-info{max-width:30rem;font-size:.95rem;margin:1rem 0 0}

/* Blog */
.posts{list-style:none;margin:0;padding:0;display:grid;gap:1.75rem}
.posts li{background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:var(--ombre)}
.posts h2{margin:0 0 .4rem;font-size:1.4rem}
.posts time{display:block;font-weight:500;margin-bottom:.5rem}
.posts p{margin:0}
.prose .posts{margin:0;padding:0}
