/*!
 Theme: I Love Lingua — feuille de styles consolidée
 Généré automatiquement depuis les blocs <style> des templates.
 Chargée via <link> dans header.php. Styles par page scopés sous la body-class WordPress.
*/


/* ===================== header.php (global) ===================== */
:root {
        --teal: oklch(0.58 0.10 215);
        
        --teal-deep: oklch(0.46 0.09 220);
        --ink: oklch(0.24 0.02 250);
        --paper: oklch(0.985 0.004 230);
        --line: oklch(0.90 0.01 235);
        --hairline: oklch(0.86 0.022 238);
        
        --muted: oklch(0.52 0.015 250);
        --nav-h: 76px;
    }

    * {
        box-sizing: border-box;
    }

    html,
    body {
        margin: 0;
    }

    body {
        font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        color: var(--ink);
        background: var(--paper);
        -webkit-font-smoothing: antialiased;
    }

    
    .site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    height: var(--nav-h);
    display: flex;
    align-items: center;
    background: #fff;
     border-bottom: 1px solid transparent;
    transition: border-color .3s, box-shadow .3s;
}


.site-header.is-scrolled {
    border-bottom-color: var(--hairline);
    box-shadow: 0 2px 10px -6px rgba(31, 58, 82, .16);
}

    .site-header.scrolled {
        border-bottom-color: var(--hairline);
        box-shadow: 0 8px 26px -16px rgba(31, 58, 82, .34);
    }

    .nav-inner {
        width: 100%;
        max-width: 1240px;
        margin: 0 auto;
        padding: 0 28px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
    }

    .brand {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: 25px;
        letter-spacing: .2px;
        color: var(--ink);
        text-decoration: none;
        line-height: 1;
        white-space: nowrap;
        display: flex;
        align-items: baseline;
        gap: 9px;
    }

    .brand .heart {
        color: var(--teal);
        font-style: italic;
    }

    .brand small {
        font-family: "Outfit", sans-serif;
        font-weight: 500;
        font-size: 10.5px;
        letter-spacing: .22em;
        text-transform: uppercase;
        color: var(--muted);
    }

    
    .nav-links {
        display: flex;
        align-items: center;
        gap: 4px;
        list-style: none;
        margin: 0;
        padding: 0;
        position: relative;
    }

    .nav-links a {
        position: relative;
        display: block;
        text-decoration: none;
        color: var(--muted);
        font-weight: 500;
        font-size: 15px;
        padding: 10px 12px;
        border-radius: 10px;
        white-space: nowrap;
        transition: color .2s;
    }

    .nav-links a:hover {
        color: var(--ink);
    }

    .nav-links a.active {
        color: var(--teal-deep);
        font-weight: 600;
    }

    
    .nav-links a.active::before,
    .mobile-menu>a.active::before,
    .mobile-menu .m-acc-head.active::before {
        content: "";
        flex: none;
        display: inline-block;
        width: .95em;
        height: .95em;
        margin-right: .04em;
        background-color: currentColor;
        -webkit-mask: var(--spark) center/contain no-repeat;
        mask: var(--spark) center/contain no-repeat;
        animation: sparkPop .4s cubic-bezier(.2, .8, .3, 1.4);
    }

    :root {
        --spark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
    }

    @keyframes sparkPop {
        from {
            transform: scale(0) rotate(-40deg);
            opacity: 0
        }

        to {
            transform: none;
            opacity: 1
        }
    }

    
    .nav-links li {
        position: relative;
    }

    .nav-links>li>a {
        display: flex;
        align-items: center;
        gap: 5px;
    }

    .chev {
        width: 14px;
        height: 14px;
        flex: none;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round;
        transition: transform .3s cubic-bezier(.65, .05, .2, 1);
    }

    .has-dropdown:hover .chev,
    .has-dropdown:focus-within .chev {
        transform: rotate(180deg);
    }

    .dropdown {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%) translateY(8px);
        min-width: 216px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 14px;
        padding: 8px;
        margin-top: 10px;
        box-shadow: 0 20px 44px -18px rgba(0, 0, 0, .30);
        display: flex;
        flex-direction: column;
        gap: 2px;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .22s ease, transform .28s cubic-bezier(.2, .7, .2, 1), visibility .22s;
        z-index: 60;
    }

    .dropdown::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -12px;
        height: 12px;
    }

    .has-dropdown:hover .dropdown,
    .has-dropdown:focus-within .dropdown {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }

    .dropdown a {
        display: block;
        font-size: 14px;
        font-weight: 500;
        color: var(--ink);
        padding: 10px 14px;
        border-radius: 9px;
        white-space: nowrap;
        transition: background .18s, color .18s;
    }

    .dropdown a:hover {
        background: color-mix(in oklab, var(--teal) 12%, transparent);
        color: var(--teal-deep);
    }

    .dropdown a.active {
        background: color-mix(in oklab, var(--teal) 14%, transparent);
        color: var(--teal-deep);
        font-weight: 600;
    }

    
    .nav-ind {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 38px;
        border-radius: 10px;
        background: color-mix(in oklab, var(--teal) 16%, transparent);
        transition: left .38s cubic-bezier(.65, .05, .2, 1), width .38s cubic-bezier(.65, .05, .2, 1), opacity .25s;
        z-index: -1;
        opacity: 0;
    }

    .cta {
        font-family: "Outfit", sans-serif;
        font-weight: 600;
        font-size: 14.5px;
        color: var(--ink);
        background: transparent;
        text-decoration: none;
        padding: 10px 20px;
        border-radius: 11px;
        white-space: nowrap;
        border: 1px solid var(--teal);
        transition: color .2s, background .2s, border-color .2s, transform .15s;
    }

    .cta:hover {
        color: var(--teal-deep);
        background: color-mix(in oklab, var(--teal) 8%, transparent);
        transform: translateY(-1px);
    }

    .nav-right {
        display: flex;
        align-items: center;
        gap: 18px;
    }

    
    .burger {
        display: none;
        width: 46px;
        height: 46px;
        border: 0;
        padding: 0;
        cursor: pointer;
        background: transparent;
        border-radius: 12px;
        align-items: center;
        justify-content: center;
        -webkit-tap-highlight-color: transparent;
    }

    .burger svg {
        width: 30px;
        height: 30px;
        overflow: visible;
    }

    .burger line {
        stroke: var(--ink);
        stroke-width: 2.4;
        stroke-linecap: round;
        transition: transform .45s cubic-bezier(.7, 0, .2, 1), opacity .25s ease;
        transform-origin: center;
        transform-box: fill-box;
    }

    .burger .l-top {
        transform: translateY(-7px);
    }

    .burger .l-bot {
        transform: translateY(7px);
    }

    
    body.menu-open .burger .l-top {
        transform: translateY(0) rotate(45deg);
    }

    body.menu-open .burger .l-bot {
        transform: translateY(0) rotate(-45deg) scaleX(1.12);
    }

    body.menu-open .burger .l-mid {
        opacity: 0;
        transform: scaleX(.2);
    }

    
    .mobile-menu {
        position: fixed;
        inset: var(--nav-h) 0 0 0;
        z-index: 40;
        background: color-mix(in oklab, var(--paper) 96%, var(--teal) 4%);
        padding: 19px 28px 40px;
        display: flex;
        flex-direction: column;
        gap: 6px;
        transform: translateY(-12px);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: opacity .35s ease, transform .35s cubic-bezier(.65, .05, .2, 1), visibility .35s;
    }

    body.menu-open .mobile-menu {
        opacity: 1;
        transform: none;
        pointer-events: auto;
        visibility: visible;
    }

    
    .mobile-menu>a,
    .mobile-menu .m-acc-head {
        text-decoration: none;
        color: var(--ink);
        font-size: 30px;
        font-weight: 600;
        letter-spacing: -.01em;
        padding: 16px 6px;
        border-bottom: 1px solid var(--line);
        display: flex;
        align-items: center;
        gap: .32em;
        justify-content: flex-start;
        transition: color .2s;
    }

    .mobile-menu>a.active,
    .mobile-menu .m-acc-head.active {
        color: var(--teal-deep);
    }

    
    .mobile-menu>a,
    .mobile-menu>.m-acc {
        transform: translateY(14px);
        opacity: 0;
        transition: transform .5s cubic-bezier(.2, .7, .2, 1), opacity .5s, color .2s;
    }

    body.menu-open .mobile-menu>a,
    body.menu-open .mobile-menu>.m-acc {
        transform: none;
        opacity: 1;
    }

    body.menu-open .mobile-menu>*:nth-child(1) {
        transition-delay: .06s;
    }

    body.menu-open .mobile-menu>*:nth-child(2) {
        transition-delay: .12s;
    }

    body.menu-open .mobile-menu>*:nth-child(3) {
        transition-delay: .18s;
    }

    body.menu-open .mobile-menu>*:nth-child(4) {
        transition-delay: .24s;
    }

    body.menu-open .mobile-menu>*:nth-child(5) {
        transition-delay: .30s;
    }

    
    .m-acc {
        display: flex;
        flex-direction: column;
    }

    .m-acc-head {
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .m-acc-head .m-chev {
        width: .62em;
        height: .62em;
        flex: none;
        margin-left: .18em;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
        transition: transform .35s cubic-bezier(.65, .05, .2, 1);
    }

    .m-acc.open .m-acc-head .m-chev {
        transform: rotate(180deg);
    }

    .m-acc-panel {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows .4s cubic-bezier(.65, .05, .2, 1);
    }

    .m-acc.open .m-acc-panel {
        grid-template-rows: 1fr;
    }

    .m-acc-panel-inner {
        overflow: hidden;
    }

    .m-acc-panel a {
        display: block;
        text-decoration: none;
        color: var(--ink);
        font-size: 20px;
        font-weight: 500;
        letter-spacing: -.005em;
        padding: 14px 6px 14px 22px;
        border-bottom: 1px solid var(--line);
        transition: color .2s;
    }

    .m-acc-panel a:first-child {
        padding-top: 18px;
    }

    .m-acc-panel a:hover {
        color: var(--teal-deep);
    }

    .m-acc-panel a.active {
        color: var(--teal-deep);
        font-weight: 600;
    }

    @media (max-width: 1080px) {
        .brand small {
            display: none;
        }
    }

    @media (max-width: 880px) {

        .nav-links,
        .cta.desktop-cta {
            display: none;
        }

        .burger {
            display: flex;
        }
    }

    
    .hero {
        padding: 90px 28px 60px;
        max-width: 1000px;
        margin: 0 auto;
        text-align: center;
    }

    .hero .eyebrow {
        color: var(--teal-deep);
        font-weight: 600;
        letter-spacing: .18em;
        text-transform: uppercase;
        font-size: 12.5px;
    }

    .hero h1 {
        font-family: "Playfair Display", serif;
        font-size: clamp(38px, 7vw, 76px);
        line-height: 1.02;
        margin: .35em 0 .25em;
        letter-spacing: -.01em;
    }

    .hero p {
        color: var(--muted);
        font-size: 18px;
        max-width: 560px;
        margin: 0 auto;
        line-height: 1.55;
    }

    .pagetag {
        display: inline-block;
        margin-top: 34px;
        font-size: 13px;
        color: var(--muted);
        background: #fff;
        border: 1px solid var(--line);
        padding: 8px 16px;
        border-radius: 999px;
    }

    .pagetag b {
        color: var(--teal-deep);
    }

    .filler {
        height: 700px;
    }

    .note {
        max-width: 1000px;
        margin: 0 auto 80px;
        padding: 0 28px;
        color: var(--muted);
        font-size: 14px;
    }

    .note kbd {
        font-family: inherit;
        background: #fff;
        border: 1px solid var(--line);
        border-bottom-width: 2px;
        border-radius: 6px;
        padding: 1px 7px;
        font-size: 12.5px;
        color: var(--ink);
    }

/* ===================== footer.php (global) ===================== */
.ill-footer{
    --f-navy:#14324a;
    --f-coral:#de6a4d;
    --f-coral-soft:#e98a72;
    --f-spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
    position:relative;
    background:var(--f-navy);
    color:#fff;
    margin-top:70px;
    font-family:var(--font-body, "Outfit", sans-serif);
  }
  .ill-footer .f-container{max-width:1280px;margin:0 auto;padding:0 40px}

  
  .ill-footer .top-spark{position:absolute;top:46px;left:7%;width:30px;height:30px;background:var(--f-coral);
    -webkit-mask:var(--f-spark) center/contain no-repeat;mask:var(--f-spark) center/contain no-repeat;opacity:.85}

  
  .ill-footer .ftop{position:relative;display:flex;align-items:center;min-height:360px;padding:48px 0}

  
  .ill-footer .fbrand{padding:8px 0}
  .ill-footer .fbrand .logo{font-family:var(--font-display, "Gambetta", serif);font-weight:700;font-size:clamp(2.4rem,4.2vw,3.4rem);line-height:1;letter-spacing:-.01em;display:flex;align-items:center;gap:.18em}
  .ill-footer .fbrand .logo .spark{width:.46em;height:.46em;background:var(--f-coral);-webkit-mask:var(--f-spark) center/contain no-repeat;mask:var(--f-spark) center/contain no-repeat;display:inline-block}
  .ill-footer .fbrand .tag{font-family:var(--font-script, "Kaushan Script", cursive);color:var(--f-coral-soft);font-size:clamp(1.4rem,1.9vw,1.8rem);line-height:1;margin:16px 0 0}

  
  .ill-footer .fpanel{position:absolute;top:-46px;right:0;width:40%;min-width:320px;
    background:linear-gradient(125deg,var(--f-coral-soft) 0%,#eb95a4 100%);
    border-radius:20px;overflow:hidden;padding:30px 34px;min-height:0;display:flex;flex-direction:column;justify-content:center;
    box-shadow:0 30px 58px -34px rgba(8,30,40,.55)}
  .ill-footer .fpanel-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:20px}
  .ill-footer .fcol h4{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);margin:0 0 16px}
  .ill-footer .fcol a,.ill-footer .fcol p{display:block;color:#fff;text-decoration:none;font-size:1.08rem;line-height:1.5;margin:0 0 3px;font-weight:500}
  .ill-footer .fcol a:hover{text-decoration:underline}
  .ill-footer .socials{display:flex;gap:12px;margin-top:20px;grid-column:1 / -1}
  .ill-footer .socials a{width:44px;height:44px;border-radius:50%;border:1.6px solid rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;color:#fff}
  .ill-footer .socials a:hover{background:#fff;color:var(--f-coral)}
  .ill-footer .socials svg{width:21px;height:21px;fill:currentColor}

  
  .ill-footer .fpanel .motif{position:absolute;inset:0 0 0 auto;width:42%;z-index:1;pointer-events:none;opacity:.42;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='66' height='66' viewBox='0 0 24 24'%3E%3Cg fill='%23ffffff'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/g%3E%3C/svg%3E");
    background-size:66px 66px;-webkit-mask:linear-gradient(90deg,transparent,#000 48%);mask:linear-gradient(90deg,transparent,#000 48%)}

  
  .ill-footer .fbar{border-top:1px solid rgba(255,255,255,.13);margin-top:54px}
  .ill-footer .fbar-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;flex-wrap:wrap}
  .ill-footer .fbar .copy{color:rgba(255,255,255,.7);font-size:1rem}
  .ill-footer .fbar nav{display:flex;gap:40px;flex-wrap:wrap}
  .ill-footer .fbar nav a{color:rgba(255,255,255,.85);text-decoration:none;font-size:1rem;transition:color .2s}
  .ill-footer .fbar nav a:hover{color:#fff}

  @media(max-width:880px){
    .ill-footer{margin-top:0;padding-top:48px}
    .ill-footer .ftop{flex-direction:column;align-items:stretch;gap:34px;min-height:0;padding:0 0 12px}
    .ill-footer .fbrand{text-align:center;display:flex;flex-direction:column;align-items:center}
    .ill-footer .fpanel{position:static;width:auto;padding:36px 30px;min-height:0}
    .ill-footer .fpanel-grid{grid-template-columns:1fr;gap:24px}
    .ill-footer .fpanel .motif{width:58%;opacity:.3}
    .ill-footer .fbar{margin-top:40px}
    .ill-footer .fbar-grid{flex-direction:column;text-align:center;gap:16px}
  }

/* ===================== front-page.php (.home) ===================== */
:root{
        --font-display: "Gambetta", serif;
        --font-script: "Kaushan Script", cursive;
        --font-body: "Outfit", sans-serif;

        --teal: oklch(0.58 0.10 215);
        --blue:oklch(0.54 0.11 217);
        --blue-soft: oklch(0.52 0.12 233 / 0.32);
        --coral: #de6a4d;
        --ink: oklch(0.24 0.02 250);
        --paper: oklch(0.985 0.004 230);
        --card: #fff;
        --line: oklch(0.90 0.01 235);
        --hairline: oklch(0.88 0.016 238);
        --muted: oklch(0.52 0.015 250);
    }
.home .ll-forme{
        position: relative;
        width: 100%;
        height: 500px
    }
.home .ll-img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        clip-path: url(#formeSympa);
        display: block
    }
.home .ll-veil{
        position: absolute;
        inset: 0;
        background: var(--blue);
        opacity: 0.42;
        clip-path: url(#formeSympa);
        pointer-events: none
    }
.home .ll-sweep{
        position: absolute;
        inset: 0;
        clip-path: url(#formeSympa);
        overflow: hidden;
        pointer-events: none
    }
.home .ll-beam, .home .ll-halo{
        position: absolute;
        inset: 0;
        mix-blend-mode: screen
    }
.home .ll-beam{
        background-image: radial-gradient(circle, rgba(255, 255, 255, .95) 0.75px, transparent 1.3px);
        background-size: 6.5px 6.5px;
        -webkit-mask: radial-gradient(circle, #000 0%, rgba(0, 0, 0, .55) 38%, transparent 64%);
        mask: radial-gradient(circle, #000 0%, rgba(0, 0, 0, .55) 38%, transparent 64%);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: 24% 60%;
        mask-size: 24% 60%;
        animation: llPhareMask 20s ease-in-out infinite
    }
.home .ll-halo{
        background: radial-gradient(circle, rgba(255, 255, 255, 0.14) 0%, transparent 62%);
        background-repeat: no-repeat;
        background-size: 26% 54%;
        filter: blur(8px);
        animation: llPhareBg 20s ease-in-out infinite
    }
@keyframes llPhareMask{
        0% {
            -webkit-mask-position: 6% 28%;
            mask-position: 6% 28%
        }

        20% {
            -webkit-mask-position: 92% 12%;
            mask-position: 92% 12%
        }

        40% {
            -webkit-mask-position: 96% 82%;
            mask-position: 96% 82%
        }

        62% {
            -webkit-mask-position: 58% 96%;
            mask-position: 58% 96%
        }

        80% {
            -webkit-mask-position: 8% 88%;
            mask-position: 8% 88%
        }

        100% {
            -webkit-mask-position: 6% 28%;
            mask-position: 6% 28%
        }
    }
@keyframes llPhareBg{
        0% {
            background-position: 6% 28%
        }

        20% {
            background-position: 92% 12%
        }

        40% {
            background-position: 96% 82%
        }

        62% {
            background-position: 58% 96%
        }

        80% {
            background-position: 8% 88%
        }

        100% {
            background-position: 6% 28%
        }
    }
@media (prefers-reduced-motion:reduce){.home .ll-sweep{
            display: none
        }}
.home .ll-caption{
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 0 8%;
        color: #fff;
        text-shadow: 0 2px 24px rgba(0, 0, 0, .35);
        pointer-events: none
    }
.home .ll-caption h1{
        margin: 0;
        font-weight: 800;
        letter-spacing: -.02em;
        line-height: 1.05;
        display: flex;
        flex-direction: column;
        gap: 14px
    }
.home .ll-brand{
        font-size: clamp(34px, 5vw, 62px)
    }
.home .ll-tag{
        font-size: clamp(15px, 1.9vw, 24px);
        font-weight: 500
    }
.home .to-top{
        position: fixed;
        right: 24px;
        bottom: 24px;
        z-index: 1070;
        width: 52px;
        height: 52px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--blue);
        color: #fff;
        border: none;
        border-radius: 50%;
        cursor: pointer;
        text-decoration: none;
        box-shadow: 0 10px 26px -8px rgba(31, 58, 82, .55);
        transition: transform .25s cubic-bezier(.2, .7, .2, 1), background .25s, box-shadow .25s;
    }
.home .to-top:hover{
        background: var(--teal);
        transform: translateY(-4px);
        box-shadow: 0 16px 32px -10px rgba(31, 58, 82, .6);
    }
.home .to-top:active{
        transform: translateY(-1px);
    }
.home .to-top svg{
        width: 24px;
        height: 24px;
        transform: rotate(-45deg) translate(1px, 1px);
    }
.home .to-top svg path{
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
@media (max-width: 620px){.home .to-top{
            right: 16px;
            bottom: 16px;
            width: 48px;
            height: 48px;
        }}
.home .pad-top-bot{padding-top:110px;padding-bottom:110px}
.home .programmes{
        position: relative;
        overflow: hidden;
    }
.home .programmes{position:relative;overflow:hidden}
.home .programmes .container{position:relative;z-index:2}
.home .programmes-invite{--pi-bg:oklch(0.97 0.008 230);--blue-ink:#0f3b50;position:relative;overflow:hidden;background:var(--pi-bg);
      --spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E")}
.home .programmes-invite .pi-grid{display:grid;grid-template-columns:0.92fr 1.08fr;max-width:1240px;margin:0 auto;padding:0 40px}
.home .programmes-invite .pi-left{position:relative;padding:0 48px 0 0;display:flex;flex-direction:column;justify-content:center}
.home .programmes-invite .pi-left::before{content:none}
.home .programmes-invite .pi-left>*{position:relative;z-index:1}
.home .programmes-invite .pi-eyebrow{font-family:var(--font-script);color:var(--coral);font-size:clamp(1.7rem,2.4vw,2.1rem);line-height:1;margin:0 0 10px;display:flex;align-items:center;gap:.28em}
.home .programmes-invite .pi-eyebrow .spark{width:.62em;height:.62em;background:var(--coral);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;display:inline-block}
.home .programmes-invite .pi-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,3.7vw,2.4rem);line-height:1.06;letter-spacing:-.015em;margin:0;color:#111;text-wrap:balance}
.home .programmes-invite .pi-title .nb{white-space:nowrap}
.home .programmes-invite .pi-lede{color:var(--muted);font-size:1.12rem;line-height:1.5;margin:18px 0 0;max-width:42ch;text-wrap:pretty}
.home .programmes-invite .pi-right{padding:0 0 0 56px;display:flex;flex-direction:column;justify-content:center}
.home .programmes-invite .pi-row{display:flex;align-items:center;gap:22px;padding:22px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .2s}
.home .programmes-invite .pi-row:first-child{border-top:1px solid var(--line)}
.home .programmes-invite .pi-row:hover{background:rgba(15,59,80,.03)}
.home .programmes-invite .pi-badge{width:58px;height:58px;border-radius:16px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--blue);background:color-mix(in oklab,var(--blue) 13%,white)}
.home .programmes-invite .pi-badge svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.home .programmes-invite .pi-txt{flex:1}
.home .programmes-invite .pi-txt h3{font-family:var(--font-display);font-weight:700;font-size:1.32rem;margin:0 0 2px;color:#16242e}
.home .programmes-invite .pi-txt span{color:var(--muted);font-size:.92rem}
.home .programmes-invite .pi-chev{color:var(--blue)}
.home .programmes-invite .pi-chev svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home .programmes-invite .pi-row.all{margin-top:18px;border:none;background:var(--blue);border-radius:16px;padding:22px 24px}
.home .programmes-invite .pi-row.all:hover{background:color-mix(in oklab,var(--blue) 90%,black)}
.home .programmes-invite .pi-row.all .pi-badge{background:rgba(255,255,255,.18);color:#fff}
.home .programmes-invite .pi-row.all .pi-txt h3{color:#fff}
.home .programmes-invite .pi-row.all .pi-txt span{color:rgba(255,255,255,.82)}
.home .programmes-invite .pi-row.all .pi-chev{color:#fff}
@media(max-width:880px){.home .programmes-invite .pi-grid{grid-template-columns:1fr;padding:0 24px}
.home .programmes-invite .pi-left{padding:0 0 24px}
.home .programmes-invite .pi-right{padding:0}}
.home .programmes .eyebrow{
        font-family: var(--font-script);
        color: var(--coral);
        font-size: clamp(1.7rem, 2.4vw, 2.1rem);
        line-height: 1;
        margin: 0 0 10px;
    }
.home .programmes .title{
        font-family: var(--font-display);
        font-weight: 800;
        font-size: clamp(1.9rem, 3.7vw, 2.4rem);
        line-height: 1.08;
        letter-spacing: -0.015em;
        margin: 0;
        text-wrap: balance;
    }
.home .programmes .title .nb{
        white-space: nowrap;
    }
.home .programmes .title-rule{
        width: 64px;
        height: 4px;
        border-radius: 4px;
        background: var(--coral);
        margin: 20px 0 0;
    }
.home .programmes .intro{
        color: var(--muted);
        font-size: 1.12rem;
        line-height: 1.5;
        margin: 20px 0 0;
        max-width: 56ch;
        text-wrap: balance;
    }
.home .filters{
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        margin: 30px 0 22px;
    }
.home .filter{
        display: inline-flex;
        align-items: center;
        gap: 9px;
        font: inherit;
        font-size: 0.97rem;
        font-weight: 500;
        cursor: pointer;
        color: var(--ink);
        background: transparent;
        border: 1.5px solid var(--blue-soft);
        border-radius: 999px;
        padding: 11px 20px 11px 17px;
        transition: color .2s, border-color .2s, box-shadow .2s;
    }
.home .filter .ic{
        width: 19px;
        height: 19px;
        flex: none;
        color: var(--blue);
        opacity: .75;
        transition: opacity .2s;
    }
.home .filter:hover{
        border-color: var(--blue);
    }
.home .filter.active{
        color: oklch(1 0 0);
        font-weight: 600;
        border-color: var(--blue);
        box-shadow: inset 0 0 0 1px var(--blue);
        background-color: var(--blue);
    }
.home .active.filter .ic{
        color: #fff;

    }
.home .filter.active .ic{
        opacity: 1;
    }
.home .dest-filter{
        border-bottom: 1.5px solid color-mix(in oklab, var(--blue) 28%, white);
        margin: 10px 0 38px;
        padding-top: 10px;
    }
.home .dest-filter .dest-head{
        font-size: .74rem;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--blue);
        margin: 0 0 12px;
    }
.home .dest-tabs{
        display: flex;
        gap: 30px;
        flex-wrap: wrap;
    }
.home .dest-tab{
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        font: inherit;
        font-size: 1.02rem;
        font-weight: 500;
        color: var(--muted);
        background: none;
        border: none;
        cursor: pointer;
        padding: 0 2px 16px;
        transition: color .2s;
    }
.home .dest-tab img{
        width: 22px;
        height: 15px;
        border-radius: 3px;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
        opacity: .7;
        transition: opacity .2s;
    }
.home .dest-tab .dot{
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--coral);
    }
.home .dest-tab:hover{
        color: var(--ink);
    }
.home .dest-tab.active{
        color: var(--blue);
        font-weight: 700;
    }
.home .dest-tab.active img{
        opacity: 1;
    }
.home .dest-tab.active::after{
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1.5px;
        height: 3px;
        border-radius: 3px 3px 0 0;
        background: var(--blue);
    }
.home .prog-grid{
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
        gap: 28px;
    }
.home .prog-card{
        display: flex;
        flex-direction: column;
        background: var(--card);
        border: 1px solid var(--hairline);
        border-radius: 20px;
        overflow: hidden;
        text-decoration: none;
        color: inherit;
        box-shadow: 0 1px 2px rgba(31, 58, 82, .04);
        transition: transform .34s cubic-bezier(.2, .7, .2, 1), box-shadow .34s, border-color .34s;
    }
.home .prog-card:hover{
        transform: translateY(-6px);
        box-shadow: 0 28px 50px -26px rgba(31, 58, 82, .42);
        border-color: var(--line);
    }
.home .prog-card .media{
        position: relative;
        aspect-ratio: 4 / 2.2;
        overflow: hidden;
    }
.home .prog-card .media img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .6s cubic-bezier(.2, .7, .2, 1);
    }
.home .prog-card:hover .media img{
        transform: scale(1.06);
    }
.home .prog-card .media .veil{
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(8, 30, 40, .92) 0%, rgba(8, 30, 40, .62) 24%, rgba(8, 30, 40, .16) 52%, transparent 78%);
    }
.home .prog-card .media .cap{
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 20px 22px;
    }
.home .prog-card .kicker{
        font-family: var(--font-script);
        color: #fff;
        font-size: 1.32rem;
        line-height: 1.05;
        opacity: .95;
        text-shadow: 0 2px 12px rgba(0, 0, 0, .4);
        margin-bottom: 1px;
    }
.home .prog-card .media h3{
        font-family: var(--font-display);
        font-weight: 700;
        color: #fff;
        font-size: 1.5rem;
        line-height: 1.14;
        letter-spacing: -0.01em;
        margin: 0;
        text-shadow: 0 2px 16px rgba(0, 0, 0, .45);
        text-wrap: balance;
    }
.home .prog-card .body{
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 20px 22px 20px;
    }
.home .prog-card .tag{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        align-self: flex-start;
        color: var(--blue);
        font-size: 0.74rem;
        font-weight: 600;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        margin-bottom: 11px;
    }
.home .prog-card .tag .ic{
        width: 16px;
        height: 16px;
        flex: none;
    }
.home .prog-card .desc{
        color: var(--muted);
        font-size: 0.97rem;
        line-height: 1.5;
        margin: 0;
    }
.home .prog-card .foot{
        margin-top: auto;
    }
.home .prog-card .flags{
        display: flex;
        flex-wrap: wrap;
        gap: 8px 14px;
        padding-top: 15px;
        margin-top: 16px;
        border-top: 1px solid var(--hairline);
    }
.home .prog-card .flag{
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 0.83rem;
        font-weight: 500;
        color: var(--ink);
    }
.home .prog-card .flag img{
        width: 22px;
        height: 15px;
        border-radius: 3px;
        object-fit: cover;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, .10);
        display: block;
    }
.home .prog-card .more{
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--blue);
        font-weight: 600;
        font-size: 0.97rem;
        margin-top: 16px;
    }
.home .prog-card .more .arr{
        width: 19px;
        height: 19px;
        transition: transform .32s cubic-bezier(.2, .7, .2, 1);
    }
.home .prog-card:hover .more .arr{
        transform: translateX(6px);
    }
.home .programmes .ic .df{
        fill: currentColor;
        opacity: .15;
        stroke: none;
    }
.home .programmes .ic .ds{
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
.home .programmes .arr{
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
.home .typo-switch{
        position: fixed;
        top: 18px;
        right: 18px;
        z-index: 1080;
    }
.home .typo-toggle{
        display: flex;
        align-items: center;
        gap: 9px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 999px;
        padding: 9px 16px;
        font-family: var(--font-body);
        font-size: .9rem;
        font-weight: 600;
        color: var(--ink);
        cursor: pointer;
        box-shadow: 0 8px 22px -12px rgba(31, 58, 82, .5);
    }
.home .typo-toggle .aa{
        font-family: var(--font-display);
        font-size: 1.15rem;
        line-height: 1;
    }
.home .typo-panel{
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        width: 264px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 10px;
        box-shadow: 0 26px 54px -20px rgba(0, 0, 0, .42);
        display: none;
        max-height: 74vh;
        overflow: auto;
    }
.home .typo-panel.open{
        display: block;
    }
.home .typo-panel h4{
        margin: 6px 8px 9px;
        font-family: var(--font-body);
        font-size: .7rem;
        letter-spacing: .09em;
        text-transform: uppercase;
        color: var(--muted);
        font-weight: 700;
    }
.home .topt{
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        text-align: left;
        background: transparent;
        border: 1.5px solid transparent;
        border-radius: 11px;
        padding: 9px 12px;
        cursor: pointer;
        color: var(--ink);
        transition: background .15s, border-color .15s;
    }
.home .topt+.topt{
        margin-top: 2px;
    }
.home .topt:hover{
        background: oklch(0.96 0.005 240);
    }
.home .topt.active{
        border-color: var(--blue);
        background: oklch(0.97 0.012 233);
    }
.home .topt-name{
        font-size: 1.16rem;
        line-height: 1.1;
    }
.home .topt-script{
        font-size: 1.34rem;
        color: var(--coral);
        line-height: 1;
        white-space: nowrap;
    }
.home .spark{
    display: inline-block;
    vertical-align: -0.1em;
    width: 0.9em;
    height: 0.9em;
    margin-left: 0.16em;
    background-color: #fff;
    -webkit-mask: var(--spark) center / contain no-repeat;
    mask: var(--spark) center / contain no-repeat;
}
.home .eyebrow .spark{
    background-color: var(--coral);
}
.home .etapes{--blue:#007d98;--coral:#de6a4d;
  --spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
  background:var(--blue);color:#fff;overflow:hidden;position:relative}
.home .etapes::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;
  background:
    radial-gradient(ellipse 640px 340px at 90% 22%, rgba(255,110,155,0.55) 0%, rgba(255,110,155,0.30) 35%, transparent 72%),
    radial-gradient(ellipse 600px 320px at 28% 86%, rgba(255,130,170,0.42) 0%, rgba(255,130,170,0.22) 35%, transparent 72%),
    radial-gradient(ellipse 460px 240px at 54% 50%, rgba(255,120,160,0.28) 0%, rgba(255,120,160,0.15) 35%, transparent 72%),
    radial-gradient(ellipse 420px 220px at 8% 30%, rgba(255,115,165,0.36) 0%, rgba(255,115,165,0.20) 35%, transparent 72%);
  pointer-events:none;z-index:0;filter:blur(60px);
  animation:auroraRose 22s ease-in-out infinite}
.home .etapes::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;
  background:
    radial-gradient(ellipse 520px 260px at 62% 14%, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.1) 35%, transparent 72%),
    radial-gradient(ellipse 620px 320px at 86% 84%, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0.13) 35%, transparent 72%),
    radial-gradient(ellipse 440px 230px at 14% 40%, rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.07) 35%, transparent 72%),
    radial-gradient(ellipse 480px 250px at 44% 92%, rgba(255,255,255,0.17) 0%, rgba(255,255,255,0.09) 35%, transparent 72%);
  pointer-events:none;z-index:0;filter:blur(60px);
  animation:auroraWhite 17s ease-in-out infinite}
.home .etapes > *{position:relative;z-index:2}
.home .etapes .container{position:relative;z-index:2}
.home .etapes .container{max-width:1240px}
.home .etapes .et-eyebrow{font-family:"Kaushan Script",cursive;font-size:2rem;line-height:1;margin:0 0 10px;opacity:.92}
.home .etapes .et-eyebrow .spark{width:1.5em;height:1.5em;margin-left:0;margin-right:.1em;margin-top:-.15em;background-color:#fff}
.home .etapes .et-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.2;letter-spacing:-.015em;margin:0;max-width:38ch;text-wrap:balance}
.home .etapes .et-title .spark{display:inline-block;width:.78em;height:.78em;margin-left:.12em;vertical-align:.1em;background:var(--coral);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat}
.home .etapes-wrap{position:relative}
.home .etapes-wrap .et-hellos{position:absolute;top:0;left:0;right:0;transform:translateY(18%);z-index:5;white-space:nowrap;overflow:hidden;text-align:center;font-family:"Kaushan Script",cursive;font-size:clamp(1.05rem,2.5vw,1.95rem);line-height:1;letter-spacing:.01em;margin:0;padding:0 16px;color:oklch(0.9 0.045 210);opacity:.85;
  -webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.home .etapes .etp-tl{position:relative;margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.home .etapes .etp-rail{position:absolute;left:30px;right:30px;top:30px;height:2px;background:rgba(255,255,255,.4)}
.home .etapes .etp-rail::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.85);transform:scaleX(0);transform-origin:left center;transition:transform 1.1s cubic-bezier(.65,0,.35,1)}
.home .etapes .etp-tl.is-in .etp-rail::after{transform:scaleX(1)}
.home .etapes .etp-col{position:relative;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.home .etapes .etp-col.is-show{opacity:1;transform:none}
.home .etapes .etp-node{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family: 'Kaushan Script';font-weight:700;font-size:1.4rem;color:var(--blue);background:#fff;border:2px solid #fff;box-shadow:0 0 0 6px var(--blue),0 0 0 8px rgba(255,255,255,.35);position:relative;z-index:2}
.home .etapes .etp-col.key .etp-node{color:#fff;background:var(--coral);border-color:var(--coral);box-shadow:0 0 0 6px var(--blue),0 0 0 8px rgba(222,106,77,.45)}
.home .etapes .etp-body{margin-top:30px}
.home .etapes .etp-k{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.66;margin:0 0 7px}
.home .etapes .etp-titre{display:flex;align-items:flex-start;gap:10px;margin:0 0 10px;min-height:2.5em}
.home .etapes .etp-titre .etp-ic{width:24px;height:24px;flex:none;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.92}
.home .etapes .etp-titre h3{font-family:"Playfair Display",serif;font-weight:700;font-size:1.24rem;line-height:1.16;letter-spacing:-.01em;margin:0}
.home .etapes .etp-col p{font-size:.96rem;line-height:1.56;margin:0 0 16px;opacity:.88;max-width:30ch}
.home .etapes .etp-more{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:.88rem;font-weight:600;color:#fff;text-decoration:none;border:1.5px solid rgba(255,255,255,.55);border-radius:999px;padding:8px 16px;transition:background .2s,color .2s,border-color .2s}
.home .etapes .etp-more:hover{background:#fff;color:var(--blue);border-color:#fff}
@media(prefers-reduced-motion:reduce){.home .etapes .etp-col{opacity:1;transform:none;transition:none}
.home .etapes .etp-rail::after{transform:scaleX(1);transition:none}}
@media(max-width:880px){.home .etapes{padding:72px 0}
.home .etapes .etp-tl{grid-template-columns:1fr;gap:0;margin-top:48px}
.home .etapes .etp-rail{left:30px;right:auto;top:0;bottom:0;width:2px;height:auto}
.home .etapes .etp-col{display:grid;grid-template-columns:60px 1fr;gap:20px;padding-bottom:36px}
.home .etapes .etp-col:last-child{padding-bottom:0}
.home .etapes .etp-body{margin-top:0;padding-top:6px}
.home .etapes .etp-col p{max-width:none}}
@keyframes auroraRose{
      0%   {transform:translate(0,0) rotate(0deg) scale(0.9)}
      25%  {transform:translate(14%,-8%) rotate(10deg) scale(1.28)}
      50%  {transform:translate(-12%,6%) rotate(-9deg) scale(0.86)}
      75%  {transform:translate(10%,-5%) rotate(9deg) scale(1.32)}
      100% {transform:translate(0,0) rotate(0deg) scale(0.9)}
    }
@keyframes auroraWhite{
      0%   {transform:translate(0,0) rotate(0deg) scale(1.1)}
      25%  {transform:translate(-14%,9%) rotate(-11deg) scale(0.82)}
      50%  {transform:translate(12%,-7%) rotate(10deg) scale(1.3)}
      75%  {transform:translate(-10%,6%) rotate(-8deg) scale(0.9)}
      100% {transform:translate(0,0) rotate(0deg) scale(1.1)}
    }
@media (prefers-reduced-motion: reduce){.home .prog-card, .home .prog-card .media img, .home .prog-card .more .arr, .home .filter, .home .topt{
            transition: none;
        }}
.home .reunion{position:relative}
.home .reunion .container{max-width:1240px;margin:0 auto;padding:0 40px}
.home .reunion .rn-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:64px;align-items:center}
.home .reunion .rn-visual{position:relative;isolation:isolate}
.home .reunion .rn-frame{position:relative;z-index:2;border-radius:24px;overflow:hidden;
      box-shadow:0 40px 80px -40px rgba(31,58,82,.45);aspect-ratio:4/3.4}
.home .reunion .rn-frame img{width:100%;height:100%;object-fit:cover;display:block}
.home .reunion .rn-visual::before{content:"";position:absolute;left:-30px;bottom:-30px;width:66%;height:72%;
      background:var(--coral);border-radius:26px;z-index:1;opacity:.18;transform:rotate(-5deg)}
.home .reunion .rn-visual::after{content:"";position:absolute;right:-22px;top:-22px;width:110px;height:110px;
      background:radial-gradient(circle, var(--blue) 0%, transparent 70%);opacity:.16;border-radius:50%;z-index:1}
.home .reunion .rn-badge{position:absolute;right:-22px;bottom:30px;z-index:3;display:flex;align-items:center;gap:12px;
      background:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 22px 44px -20px rgba(31,58,82,.5)}
.home .reunion .rn-badge .dot{width:42px;height:42px;border-radius:12px;background:var(--blue);color:#fff;
      display:flex;align-items:center;justify-content:center;flex:none}
.home .reunion .rn-badge .dot svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.home .reunion .rn-badge b{display:block;font-family:var(--font-display);font-size:1.12rem;line-height:1;color:var(--ink)}
.home .reunion .rn-badge span{font-size:.82rem;color:var(--muted)}
.home .reunion .eyebrow{font-family:var(--font-script);color:var(--coral);font-size:clamp(1.7rem,2.4vw,2.1rem);line-height:1;margin:0 0 10px}
.home .reunion .title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,3.7vw,2.4rem);line-height:1.08;letter-spacing:-.015em;margin:0;text-wrap:balance}
.home .reunion .title em{font-style:italic;color:inherit}
.home .reunion .title .t-spark{display:inline-block;width:.66em;height:.66em;margin-right:.18em;vertical-align:.06em;
      background:var(--ink);
      -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E") center/contain no-repeat;
      mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E") center/contain no-repeat}
.home .reunion .intro{color:var(--muted);font-size:1.12rem;line-height:1.5;margin:20px 0 0;max-width:54ch;text-wrap:pretty}
.home .reunion .checks{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.home .reunion .checks li{display:flex;align-items:flex-start;gap:13px;font-size:1rem;line-height:1.45;color:var(--ink)}
.home .reunion .checks .ic{width:24px;height:24px;flex:none;border-radius:50%;background:color-mix(in oklab, var(--blue) 14%, white);
      display:flex;align-items:center;justify-content:center;margin-top:1px}
.home .reunion .checks .ic svg{width:14px;height:14px;fill:none;stroke:var(--blue);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.home .reunion .checks strong{font-weight:600}
.home .reunion .cta{display:inline-flex;align-items:center;gap:10px;margin-top:34px;
      background:var(--blue);color:#fff;text-decoration:none;font-weight:600;font-size:1rem;
      padding:15px 26px;border-radius:999px;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s;
      box-shadow:0 16px 30px -14px rgba(31,58,82,.6)}
.home .reunion .cta:hover{background:var(--teal);transform:translateY(-3px);box-shadow:0 22px 40px -16px rgba(31,58,82,.6)}
.home .reunion .cta svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:880px){.home .reunion .rn-grid{grid-template-columns:1fr;gap:48px}
.home .reunion .rn-visual{max-width:520px}}
.home .presentation, .home .temoignages, .home .faq, .home .contactband{
      --spark2:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
    }
.home .presentation .container, .home .temoignages .container, .home .faq .container, .home .contactband .container{max-width:1240px;margin:0 auto;padding:0 40px}
.home .presentation .eyebrow, .home .temoignages .eyebrow, .home .faq .eyebrow{font-family:var(--font-script);color:var(--coral);font-size:clamp(1.7rem,2.4vw,2.1rem);line-height:1;margin:0 0 10px;display:flex;align-items:center;gap:.3em}
.home .presentation .eyebrow .spark, .home .temoignages .eyebrow .spark, .home .faq .eyebrow .spark{width:1.5em;height:1.5em;margin-top:-.15em;background:var(--coral);-webkit-mask:var(--spark2) center/contain no-repeat;mask:var(--spark2) center/contain no-repeat;display:inline-block}
.home .presentation .h2, .home .temoignages .h2, .home .faq .h2, .home .contactband .h2{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,3.8vw,2.6rem);line-height:1.08;letter-spacing:-.015em;margin:0;text-wrap:balance}
.home .presentation .h2 .spark, .home .contactband .h2 .spark{display:inline-block;width:.6em;height:.6em;margin-right:.16em;vertical-align:.04em;background:var(--ink);-webkit-mask:var(--spark2) center/contain no-repeat;mask:var(--spark2) center/contain no-repeat}
.home .presentation .h2{color:#111}
.home .presentation .grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:70px;align-items:center}
.home .presentation .lead{font-size:1.18rem;line-height:1.55;color:var(--ink);margin:22px 0 16px;text-wrap:pretty}
.home .presentation .body p{color:var(--muted);font-size:1.02rem;line-height:1.62;margin:0 0 13px;max-width:58ch}
.home .presentation .body p strong{color:var(--ink);font-weight:600}
.home .presentation .sign{font-family:var(--font-script);color:var(--coral);font-size:1.7rem;line-height:1;margin:22px 0 0}
.home .presentation .visual{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:center}
.home .presentation .pphoto{position:relative;z-index:2;width:min(380px,82%);aspect-ratio:1;border-radius:50%;overflow:hidden;background:color-mix(in oklab,var(--blue) 10%,white);box-shadow:0 30px 70px -32px rgba(31,58,82,.55);outline:8px solid #fff;outline-offset:0}
.home .presentation .pphoto img{width:100%;height:100%;object-fit:cover;display:block}
.home .presentation .pphoto .ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(160deg,color-mix(in oklab,var(--blue) 16%,white),color-mix(in oklab,var(--coral) 12%,white));color:var(--muted);text-align:center;padding:0 24px}
.home .presentation .pphoto .ph .ic{font-size:2.4rem}
.home .presentation .badge{position:absolute;right:2%;bottom:6%;z-index:3;background:#fff;border-radius:16px;padding:13px 18px;box-shadow:0 22px 44px -20px rgba(31,58,82,.5);display:flex;align-items:center;gap:12px}
.home .presentation .badge .n{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--blue);line-height:1}
.home .presentation .badge .t{font-size:.82rem;color:var(--muted);max-width:12ch}
.home .temoignages{background:var(--blue);color:#fff;position:relative;overflow:hidden}
.home .temoignages::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;
      background:
        radial-gradient(ellipse 640px 340px at 90% 22%, rgba(255,110,155,0.55) 0%, rgba(255,110,155,0.30) 35%, transparent 72%),
        radial-gradient(ellipse 600px 320px at 28% 86%, rgba(255,130,170,0.42) 0%, rgba(255,130,170,0.22) 35%, transparent 72%),
        radial-gradient(ellipse 460px 240px at 54% 50%, rgba(255,120,160,0.28) 0%, rgba(255,120,160,0.15) 35%, transparent 72%),
        radial-gradient(ellipse 420px 220px at 8% 30%, rgba(255,115,165,0.36) 0%, rgba(255,115,165,0.20) 35%, transparent 72%);
      pointer-events:none;z-index:0;filter:blur(60px);animation:auroraRose 22s ease-in-out infinite}
.home .temoignages::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;
      background:
        radial-gradient(ellipse 520px 260px at 62% 14%, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.1) 35%, transparent 72%),
        radial-gradient(ellipse 620px 320px at 86% 84%, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0.13) 35%, transparent 72%),
        radial-gradient(ellipse 440px 230px at 14% 40%, rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.07) 35%, transparent 72%),
        radial-gradient(ellipse 480px 250px at 44% 92%, rgba(255,255,255,0.17) 0%, rgba(255,255,255,0.09) 35%, transparent 72%);
      pointer-events:none;z-index:0;filter:blur(60px);animation:auroraWhite 17s ease-in-out infinite}
.home .temoignages>*{position:relative;z-index:2}
.home .temoignages .container{position:relative;z-index:2}
.home .temoignages .eyebrow{color:#fff}
.home .temoignages .eyebrow .spark{background:#fff}
.home .temoignages .h2{color:#fff}
.home .temoignages .head{max-width:62ch;margin-bottom:52px}
.home .temoignages .head p{color:rgba(255,255,255,.85);font-size:1.12rem;line-height:1.5;margin:16px 0 0}
.home .temoignages .t-grid{display:grid;grid-template-columns:6fr 6fr;gap:48px;align-items:center}
.home .temoignages .tslider{order:1;min-width:0}
.home .temoignages .t-aside{order:2;min-width:0}
.home .temoignages .t-aside p{color:rgba(255,255,255,.85);font-size:1.12rem;line-height:1.5;margin:16px 0 0;max-width:34ch;text-wrap:pretty}
.home .temoignages .t-rating{margin-top:32px;display:inline-flex;flex-direction:column;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:24px 26px;max-width:360px}
.home .temoignages .t-rating .t-score{display:flex;align-items:baseline;gap:10px}
.home .temoignages .t-rating .t-score b{font-family:var(--font-display);font-weight:800;font-size:2.9rem;line-height:1}
.home .temoignages .t-rating .t-score .stars{display:flex;gap:3px;color:var(--coral)}
.home .temoignages .t-rating .t-score .stars svg{width:20px;height:20px;fill:currentColor}
.home .temoignages .t-rating .t-sub{margin:0;font-size:.94rem;line-height:1.4;color:rgba(255,255,255,.82)}
.home .temoignages .t-rating .t-sub b{font-weight:700;color:#fff}
.home .tslider{position:relative}
.home .tviewport{overflow:hidden}
.home .ttrack{display:flex;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.home .tslide{flex:0 0 100%;display:flex;justify-content:center;padding:8px 6px}
.home .tcard{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:20px;padding:38px 40px;display:flex;flex-direction:column;box-shadow:none;max-width:760px;width:100%}
.home .tcard .stars{display:flex;gap:3px;margin-bottom:18px;color:var(--coral)}
.home .tcard .stars svg{width:20px;height:20px;fill:currentColor}
.home .tcard .quote{font-family:var(--font-display);font-weight:600;font-size:1.42rem;line-height:1.38;letter-spacing:-.01em;margin:0 0 24px;text-wrap:pretty}
.home .tcard .who{display:flex;align-items:center;gap:13px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}
.home .tcard .av{width:48px;height:48px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;color:#fff;background:var(--blue);overflow:hidden}
.home .tcard .av img{width:100%;height:100%;object-fit:cover}
.home .tslide:nth-child(2) .av{background:var(--coral)}
.home .tslide:nth-child(3) .av{background:var(--teal)}
.home .tcard .who b{display:block;font-size:.98rem;font-weight:600;color:#fff}
.home .tcard .who span{font-size:.84rem;color:rgba(255,255,255,.72)}
.home .tnav{position:absolute;top:calc(50% - 24px);transform:translateY(-50%);z-index:5;width:52px;height:52px;border-radius:50%;border:none;background:#fff;color:var(--blue);cursor:pointer;box-shadow:0 14px 30px -12px rgba(8,30,40,.5);display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}
.home .tnav:hover{background:var(--paper);transform:translateY(-50%) scale(1.06)}
.home .tnav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home .tnav.prev{left:-16px}
.home .tnav.next{right:-16px}
.home .tdots{display:flex;gap:9px;justify-content:center;margin-top:34px}
.home .tdot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:width .3s,background .3s}
.home .tdot.active{background:#fff;width:28px;border-radius:5px}
.home .faq .grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:64px;align-items:start}
.home .faq .aside p{color:var(--muted);font-size:1.06rem;line-height:1.55;margin:18px 0 0;max-width:34ch}
.home .faq .aside .ask{display:inline-flex;align-items:center;gap:9px;margin-top:24px;color:var(--blue);font-weight:600;text-decoration:none;font-size:1rem}
.home .faq .aside .ask svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.home .faq .aside .ask:hover svg{transform:translateX(5px)}
.home .faq .list{display:flex;flex-direction:column}
.home .faq details{border-bottom:1px solid var(--line)}
.home .faq details:first-child{border-top:1px solid var(--line)}
.home .faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 4px;font-family:var(--font-display);font-weight:600;font-size:1.16rem;letter-spacing:-.01em;color:var(--ink)}
.home .faq summary::-webkit-details-marker{display:none}
.home .faq summary .pm{position:relative;width:22px;height:22px;flex:none}
.home .faq summary .pm::before, .home .faq summary .pm::after{content:"";position:absolute;background:var(--blue);border-radius:2px;transition:transform .3s,opacity .3s}
.home .faq summary .pm::before{top:10px;left:0;width:22px;height:2px}
.home .faq summary .pm::after{top:0;left:10px;width:2px;height:22px}
.home .faq details[open] summary .pm::after{transform:scaleY(0)}
.home .faq details[open] summary{color:var(--blue)}
.home .faq .ans{overflow:hidden;color:var(--muted);font-size:1.02rem;line-height:1.6;padding:0 4px 24px;max-width:62ch}
.home .faq details[open] .ans{animation:faqReveal .42s cubic-bezier(.4,0,.2,1)}
@keyframes faqReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.home .faq details[open] .ans{animation:none}}
.home .contactband{background:#fff !important}
.home .contactband .h2{font-size:clamp(1.6rem,2.8vw,2.1rem)}
.home .contactband .h2 .spark{background:#fff;width:1.05em;height:1.05em;vertical-align:-.05em;margin-right:.12em}
.home .contactband .t-trust{display:flex;align-items:center;gap:9px;margin:0 0 4px;font-size:.92rem;color:rgba(255,255,255,.9)}
.home .contactband .t-trust .stars{display:flex;gap:2px;color:var(--coral)}
.home .contactband .t-trust .stars svg{width:16px;height:16px;fill:currentColor}
.home .contactband .t-trust b{font-weight:700;color:#fff}
.home .contactband .inner{position:relative;overflow:hidden;border-radius:30px;background:var(--blue);color:#fff;padding:72px 64px;isolation:isolate}
.home .contactband .inner .cb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.home .contactband .inner .cb-veil{position:absolute;inset:0;z-index:1;background:var(--blue);opacity:.62}
.home .contactband .inner .row{position:relative;z-index:3}
.home .contactband .inner::before{content:"";position:absolute;right:-60px;top:-80px;width:360px;height:360px;background:var(--spark2);background-size:contain;background-repeat:no-repeat;opacity:.08;z-index:0}
.home .contactband .inner::after{content:"";position:absolute;left:-40px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,var(--coral) 0%,transparent 70%);opacity:.3;z-index:0}
.home .contactband .row{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.home .contactband .h2 em{font-style:italic;color:#fff;opacity:.92}
.home .contactband .sub{color:rgba(255,255,255,.85);font-size:1.14rem;line-height:1.5;margin:16px 0 26px;max-width:46ch}
.home .contactband .meta{display:flex;flex-wrap:wrap;gap:10px 26px}
.home .contactband .meta a{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-size:1rem;font-weight:500}
.home .contactband .meta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.home .contactband .cta-wrap{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.home .contactband .cta{display:inline-flex;align-items:center;justify-content:center;gap:11px;white-space:nowrap;background:#fff;color:var(--blue);font-weight:700;font-size:1.02rem;padding:17px 26px;border-radius:999px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;box-shadow:0 18px 36px -16px rgba(0,0,0,.4)}
.home .contactband .cta:hover{transform:translateY(-3px);box-shadow:0 26px 46px -18px rgba(0,0,0,.45)}
.home .contactband .cta.ghost{background:transparent;color:#fff;border:1.6px solid rgba(255,255,255,.5);box-shadow:none}
.home .contactband .cta.ghost:hover{background:rgba(255,255,255,.1)}
.home .contactband .cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.home .presentation .grid, .home .faq .grid, .home .contactband .row, .home .temoignages .t-grid{grid-template-columns:1fr;gap:48px}
.home .temoignages .t-aside{order:1}
.home .temoignages .tslider{order:2}
.home .temoignages .t-aside p{max-width:none}
.home .temoignages .t-rating{max-width:none;align-self:stretch}
.home .tcard{padding:30px 26px}
.home .tcard .quote{font-size:1.2rem}
.home .tnav.prev{left:-6px}
.home .tnav.next{right:-6px}
.home .contactband .inner{padding:48px 30px}}
.home #primary{position:relative}
.home .plane-trail{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
@media(max-width:820px){.home .plane-trail{display:none}}
@media(prefers-reduced-motion:reduce){.home .plane-trail{display:none}}
.home .hero-s{--coral-soft:#e98a72;--spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");overflow:hidden;background:#04323d;position:relative;height:clamp(440px,58vh,600px)}
.home .hero-s .hs-track{position:absolute;inset:0}
.home .hero-s .hs-slide{position:absolute;inset:0;height:100%;opacity:0;transition:opacity 1s ease}
.home .hero-s .hs-slide.is-active{opacity:1}
.home .hero-s .hs-slide img{width:100%;height:100%;object-fit:cover;display:block}
.home .hero-s .hs-veil{position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,rgba(0,45,58,.82) 0%,rgba(0,75,92,.62) 32%,rgba(0,110,135,.32) 58%,rgba(0,125,152,.12) 82%,rgba(0,125,152,.14) 100%)}
.home .hero-s .hs-inner{position:relative;z-index:3;max-width:1240px;margin:0 auto;padding:0 40px;height:100%;display:flex;flex-direction:column;justify-content:center;color:#fff}
.home .hero-s .eyebrow{font-family:var(--font-script);font-size:clamp(1.7rem,2.4vw,2.1rem);line-height:1;margin:0 0 6px;display:flex;align-items:center;gap:.3em;color:#fff}
.home .hero-s .eyebrow .spark{width:1.4em;height:1.4em;margin-top:-.12em;background:#fff;-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;display:inline-block}
.home .hero-s h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0;font-size:clamp(2rem,3.6vw,3.1rem);max-width:16ch;text-shadow:0 4px 30px rgba(0,0,0,.28);min-height:2.1em}
.home .hero-s h1 em{font-style:italic;color:var(--coral-soft)}
.home .hero-s .lede{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.5;margin:20px 0 0;max-width:46ch;color:rgba(255,255,255,.92)}
.home .hero-s .cta-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.home .hero-s .btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1rem;padding:15px 26px;border-radius:999px;text-decoration:none;border:1.6px solid transparent;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.home .hero-s .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.home .hero-s .btn-coral{background:var(--coral);color:#fff}
.home .hero-s .btn-coral:hover{transform:translateY(-3px)}
.home .hero-s .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.home .hero-s .btn-ghost:hover{background:#fff;color:#04323d}
.home .hero-s .hs-place{position:absolute;right:40px;bottom:74px;z-index:4;display:flex;align-items:center;gap:9px;color:#fff;font-weight:600;font-size:.98rem;opacity:.95;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.home .hero-s .hs-place svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.home .hero-s .hs-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:74px;z-index:4;display:flex;gap:10px}
@media(min-width:760px){.home .hero-s .hs-dots{left:max(40px,calc(50% - 580px));transform:none}}
.home .hero-s .hs-dot{width:9px;height:9px;border-radius:50%;border:none;padding:0;background:rgba(255,255,255,.45);cursor:pointer;transition:width .3s,background .3s}
.home .hero-s .hs-dot.active{width:28px;border-radius:5px;background:#fff}
@media(prefers-reduced-motion:reduce){.home .hero-s .hs-slide{transition:none}}
.home .hero-s .hs-marquee{position:absolute;left:0;right:0;bottom:0;z-index:4;overflow:hidden;padding:16px 0;background:linear-gradient(to top,rgba(4,40,50,.55),transparent)}
.home .hero-s .hs-marquee .hsm-track{display:flex;gap:26px;width:max-content;align-items:center;animation:hsmScroll 38s linear infinite}
.home .hero-s .hs-marquee .hi{font-family:var(--font-script);font-weight:400;font-size:20px;line-height:1;color:#fff;white-space:nowrap;opacity:.6;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.home .hero-s .hs-marquee .hsm-sep{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);flex:none}
@media(prefers-reduced-motion:reduce){.home .hero-s .hs-marquee .hsm-track{animation:none}}
@keyframes hsmScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.home .alaune{--aspark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
            position:relative;background:var(--blue);color:#fff}
.home .alaune .container{max-width:1240px;margin:0 auto;padding:0 40px}
.home .alaune .head{margin-bottom:38px}
.home .alaune .au-eyebrow{font-family:var(--font-script);color:#fff;font-size:clamp(1.7rem,2.4vw,2.1rem);line-height:1;margin:0 0 8px;display:flex;align-items:center;gap:.32em}
.home .alaune .au-eyebrow .spark{width:1.5em;height:1.5em;background-color:#fff;-webkit-mask:var(--aspark) center/contain no-repeat;mask:var(--aspark) center/contain no-repeat;display:inline-block;margin:0;vertical-align:baseline}
.home .alaune .au-h2{font-family:var(--font-display);font-weight:800;color:#fff;font-size:clamp(1.9rem,3.4vw,2.4rem);line-height:1.08;letter-spacing:-.015em;margin:0;text-wrap:balance}
.home .alaune .au-grid{display:grid;grid-template-columns:1fr 360px;grid-template-rows:auto auto;column-gap:34px;row-gap:0;align-items:stretch}
.home .alaune .ns-shell{grid-column:1;grid-row:1;min-width:0}
.home .alaune .ns-viewport{overflow:hidden;height:100%}
.home .alaune .ns-track{display:flex;gap:24px;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.home .alaune .ns-card{flex:0 0 calc(50% - 12px);min-width:0;display:block;text-decoration:none;color:inherit}
.home .alaune .au-card{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/4.6;display:block;box-shadow:0 30px 60px -38px rgba(8,30,40,.7)}
.home .alaune .au-media{position:absolute;inset:0}
.home .alaune .au-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.home .alaune .ns-card:hover .au-media img{transform:scale(1.07)}
.home .alaune .au-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,30,40,.94) 0%,rgba(8,30,40,.6) 32%,rgba(8,30,40,.12) 60%,transparent 82%)}
.home .alaune .au-body{position:absolute;left:0;right:0;bottom:0;padding:26px 26px 28px;z-index:2}
.home .alaune .au-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.home .alaune .au-tag{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--coral);padding:5px 11px;border-radius:999px}
.home .alaune .au-date{font-size:.84rem;color:rgba(255,255,255,.85)}
.home .alaune .au-title{font-family:var(--font-display);font-weight:700;color:#fff;font-size:1.46rem;line-height:1.16;letter-spacing:-.01em;margin:0 0 8px;text-shadow:0 2px 16px rgba(0,0,0,.4);text-wrap:balance}
.home .alaune .au-excerpt{color:rgba(255,255,255,.85);font-size:.96rem;line-height:1.48;margin:0}
.home .alaune .access{grid-column:2;grid-row:1;position:relative;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border-radius:22px;padding:40px 34px;display:flex;flex-direction:column;justify-content:space-between}
.home .alaune .access::after{content:"";position:absolute;right:-40px;bottom:-50px;width:230px;height:230px;background:var(--aspark);background-size:contain;background-repeat:no-repeat;opacity:.08}
.home .alaune .access .ac-kicker{font-family:var(--font-script);font-size:1.5rem;line-height:1;opacity:.95;margin:0 0 12px}
.home .alaune .access h3{font-family:var(--font-display);font-weight:800;font-size:1.74rem;line-height:1.12;letter-spacing:-.015em;margin:0 0 14px;position:relative;z-index:2}
.home .alaune .access p{color:rgba(255,255,255,.9);font-size:1rem;line-height:1.5;margin:0;position:relative;z-index:2}
.home .alaune .access .ac-btn{position:relative;z-index:2;display:inline-flex;align-items:center;gap:11px;align-self:flex-start;margin-top:28px;background:#fff;color:var(--blue);font-weight:700;fontt-size:1rem;padding:15px 24px;border-radius:999px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.home .alaune .access .ac-btn:hover{transform:translateY(-3px);box-shadow:0 18px 34px -16px rgba(0,0,0,.35)}
.home .alaune .access .ac-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.home .alaune .ns-bar{grid-column:1;grid-row:2;display:flex;align-items:center;gap:18px;margin-top:26px}
.home .alaune .ns-dots{display:flex;gap:8px}
.home .alaune .ns-dot{width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;background:rgba(255,255,255,.4);transition:width .3s,background .3s}
.home .alaune .ns-dot.active{width:28px;border-radius:5px;background:#fff}
.home .alaune .ns-arrows{display:flex;gap:10px;margin-left:auto}
.home .alaune .ns-arrow{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s}
.home .alaune .ns-arrow:hover{background:#fff;color:var(--blue);border-color:#fff}
.home .alaune .ns-arrow:disabled{opacity:.4;cursor:default;background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.home .alaune .ns-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:880px){.home .alaune{padding:72px 0}
.home .alaune .au-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto}
.home .alaune .ns-bar{grid-column:1;grid-row:2}
.home .alaune .access{grid-column:1;grid-row:3;margin-top:24px}}
@media(max-width:560px){.home .alaune .ns-card{flex:0 0 100%}}
@media(prefers-reduced-motion:reduce){.home .alaune .ns-track, .home .alaune .au-media img{transition:none}}

/* ===================== page-tous-nos-sejours.php (.page-template-page-tous-nos-sejours-php) ===================== */
:root{
        --font-display: "Gambetta", serif;
        --font-script: "Kaushan Script", cursive;
        --font-body: "Outfit", sans-serif;

        --teal: oklch(0.58 0.10 215);
        --blue:oklch(0.54 0.11 217);
        --blue-soft: oklch(0.52 0.12 233 / 0.32);
        --coral: #de6a4d;
        --ink: oklch(0.24 0.02 250);
        --paper: oklch(0.985 0.004 230);
        --card: #fff;
        --line: oklch(0.90 0.01 235);
        --hairline: oklch(0.88 0.016 238);
        --muted: oklch(0.52 0.015 250);
    }
.page-template-page-tous-nos-sejours-php .tns-hero{padding:64px 0 0}
.page-template-page-tous-nos-sejours-php .tns-hero .container{max-width:1240px;margin:0 auto;padding:0 40px}
.page-template-page-tous-nos-sejours-php .programmes{position:relative;overflow:hidden}
.page-template-page-tous-nos-sejours-php .programmes .container{max-width:1240px;margin:0 auto;padding:0 40px;position:relative;z-index:2}
.page-template-page-tous-nos-sejours-php .pad-top-bot{padding-top:64px;padding-bottom:110px}
.page-template-page-tous-nos-sejours-php .programmes .eyebrow{display:flex;align-items:center;gap:.28em}
.page-template-page-tous-nos-sejours-php .programmes .eyebrow .spark{width:.62em;height:.62em;background:var(--coral);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;display:inline-block}
.page-template-page-tous-nos-sejours-php .programmes .eyebrow{
        font-family: var(--font-script);
        color: var(--coral);
        font-size: clamp(1.7rem, 2.4vw, 2.1rem);
        line-height: 1;
        margin: 0 0 10px;
    }
.page-template-page-tous-nos-sejours-php .programmes .title{
        font-family: var(--font-display);
        font-weight: 800;
        font-size: clamp(1.9rem, 3.7vw, 2.4rem);
        line-height: 1.08;
        letter-spacing: -0.015em;
        margin: 0;
        text-wrap: balance;
    }
.page-template-page-tous-nos-sejours-php .programmes .title .nb{
        white-space: nowrap;
    }
.page-template-page-tous-nos-sejours-php .programmes .title-rule{
        width: 64px;
        height: 4px;
        border-radius: 4px;
        background: var(--coral);
        margin: 20px 0 0;
    }
.page-template-page-tous-nos-sejours-php .programmes .intro{
        color: var(--muted);
        font-size: 1.12rem;
        line-height: 1.5;
        margin: 20px 0 0;
        max-width: 56ch;
        text-wrap: balance;
    }
.page-template-page-tous-nos-sejours-php .filters{
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        margin: 30px 0 22px;
    }
.page-template-page-tous-nos-sejours-php .filter{
        display: inline-flex;
        align-items: center;
        gap: 9px;
        font: inherit;
        font-size: 0.97rem;
        font-weight: 500;
        cursor: pointer;
        color: var(--ink);
        background: transparent;
        border: 1.5px solid var(--blue-soft);
        border-radius: 999px;
        padding: 11px 20px 11px 17px;
        transition: color .2s, border-color .2s, box-shadow .2s;
    }
.page-template-page-tous-nos-sejours-php .filter .ic{
        width: 19px;
        height: 19px;
        flex: none;
        color: var(--blue);
        opacity: .75;
        transition: opacity .2s;
    }
.page-template-page-tous-nos-sejours-php .filter:hover{
        border-color: var(--blue);
    }
.page-template-page-tous-nos-sejours-php .filter.active{
        color: oklch(1 0 0);
        font-weight: 600;
        border-color: var(--blue);
        box-shadow: inset 0 0 0 1px var(--blue);
        background-color: var(--blue);
    }
.page-template-page-tous-nos-sejours-php .active.filter .ic{
        color: #fff;

    }
.page-template-page-tous-nos-sejours-php .filter.active .ic{
        opacity: 1;
    }
.page-template-page-tous-nos-sejours-php .dest-filter{
        border-bottom: 1.5px solid color-mix(in oklab, var(--blue) 28%, white);
        margin: 10px 0 38px;
        padding-top: 10px;
    }
.page-template-page-tous-nos-sejours-php .dest-filter .dest-head{
        font-size: .74rem;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--blue);
        margin: 0 0 12px;
    }
.page-template-page-tous-nos-sejours-php .dest-tabs{
        display: flex;
        gap: 30px;
        flex-wrap: wrap;
    }
.page-template-page-tous-nos-sejours-php .dest-tab{
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        font: inherit;
        font-size: 1.02rem;
        font-weight: 500;
        color: var(--muted);
        background: none;
        border: none;
        cursor: pointer;
        padding: 0 2px 16px;
        transition: color .2s;
    }
.page-template-page-tous-nos-sejours-php .dest-tab img{
        width: 22px;
        height: 15px;
        border-radius: 3px;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
        opacity: .7;
        transition: opacity .2s;
    }
.page-template-page-tous-nos-sejours-php .dest-tab .dot{
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--coral);
    }
.page-template-page-tous-nos-sejours-php .dest-tab:hover{
        color: var(--ink);
    }
.page-template-page-tous-nos-sejours-php .dest-tab.active{
        color: var(--blue);
        font-weight: 700;
    }
.page-template-page-tous-nos-sejours-php .dest-tab.active img{
        opacity: 1;
    }
.page-template-page-tous-nos-sejours-php .dest-tab.active::after{
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1.5px;
        height: 3px;
        border-radius: 3px 3px 0 0;
        background: var(--blue);
    }
.page-template-page-tous-nos-sejours-php .prog-grid{
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
        gap: 28px;
    }
.page-template-page-tous-nos-sejours-php .prog-card{
        display: flex;
        flex-direction: column;
        background: var(--card);
        border: 1px solid var(--hairline);
        border-radius: 20px;
        overflow: hidden;
        text-decoration: none;
        color: inherit;
        box-shadow: 0 1px 2px rgba(31, 58, 82, .04);
        transition: transform .34s cubic-bezier(.2, .7, .2, 1), box-shadow .34s, border-color .34s;
    }
.page-template-page-tous-nos-sejours-php .prog-card:hover{
        transform: translateY(-6px);
        box-shadow: 0 28px 50px -26px rgba(31, 58, 82, .42);
        border-color: var(--line);
    }
.page-template-page-tous-nos-sejours-php .prog-card .media{
        position: relative;
        aspect-ratio: 4 / 2.2;
        overflow: hidden;
    }
.page-template-page-tous-nos-sejours-php .prog-card .media img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .6s cubic-bezier(.2, .7, .2, 1);
    }
.page-template-page-tous-nos-sejours-php .prog-card:hover .media img{
        transform: scale(1.06);
    }
.page-template-page-tous-nos-sejours-php .prog-card .media .veil{
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(8, 30, 40, .92) 0%, rgba(8, 30, 40, .62) 24%, rgba(8, 30, 40, .16) 52%, transparent 78%);
    }
.page-template-page-tous-nos-sejours-php .prog-card .media .cap{
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 20px 22px;
    }
.page-template-page-tous-nos-sejours-php .prog-card .kicker{
        font-family: var(--font-script);
        color: #fff;
        font-size: 1.32rem;
        line-height: 1.05;
        opacity: .95;
        text-shadow: 0 2px 12px rgba(0, 0, 0, .4);
        margin-bottom: 1px;
    }
.page-template-page-tous-nos-sejours-php .prog-card .media h3{
        font-family: var(--font-display);
        font-weight: 700;
        color: #fff;
        font-size: 1.5rem;
        line-height: 1.14;
        letter-spacing: -0.01em;
        margin: 0;
        text-shadow: 0 2px 16px rgba(0, 0, 0, .45);
        text-wrap: balance;
    }
.page-template-page-tous-nos-sejours-php .prog-card .body{
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 20px 22px 20px;
    }
.page-template-page-tous-nos-sejours-php .prog-card .tag{
        display: inline-flex;
        align-items: center;
        gap: 7px;
        align-self: flex-start;
        color: var(--blue);
        font-size: 0.74rem;
        font-weight: 600;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        margin-bottom: 11px;
    }
.page-template-page-tous-nos-sejours-php .prog-card .tag .ic{
        width: 16px;
        height: 16px;
        flex: none;
    }
.page-template-page-tous-nos-sejours-php .prog-card .desc{
        color: var(--muted);
        font-size: 0.97rem;
        line-height: 1.5;
        margin: 0;
    }
.page-template-page-tous-nos-sejours-php .prog-card .foot{
        margin-top: auto;
    }
.page-template-page-tous-nos-sejours-php .prog-card .flags{
        display: flex;
        flex-wrap: wrap;
        gap: 8px 14px;
        padding-top: 15px;
        margin-top: 16px;
        border-top: 1px solid var(--hairline);
    }
.page-template-page-tous-nos-sejours-php .prog-card .flag{
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 0.83rem;
        font-weight: 500;
        color: var(--ink);
    }
.page-template-page-tous-nos-sejours-php .prog-card .flag img{
        width: 22px;
        height: 15px;
        border-radius: 3px;
        object-fit: cover;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, .10);
        display: block;
    }
.page-template-page-tous-nos-sejours-php .prog-card .more{
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--blue);
        font-weight: 600;
        font-size: 0.97rem;
        margin-top: 16px;
    }
.page-template-page-tous-nos-sejours-php .prog-card .more .arr{
        width: 19px;
        height: 19px;
        transition: transform .32s cubic-bezier(.2, .7, .2, 1);
    }
.page-template-page-tous-nos-sejours-php .prog-card:hover .more .arr{
        transform: translateX(6px);
    }
.page-template-page-tous-nos-sejours-php .programmes .ic .df{
        fill: currentColor;
        opacity: .15;
        stroke: none;
    }
.page-template-page-tous-nos-sejours-php .programmes .ic .ds{
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
.page-template-page-tous-nos-sejours-php .programmes .arr{
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
.page-template-page-tous-nos-sejours-php .programmes-invite{--pi-bg:oklch(0.98 0.005 230);--blue-ink:#0f3b50;position:relative;overflow:hidden;background:var(--pi-bg);padding:40px 0 44px;
      --spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E")}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:40px;max-width:1240px;margin:0 auto;padding:0 40px;align-items:center;position:relative;z-index:1}
.page-template-page-tous-nos-sejours-php .programmes-invite .tns-motif{position:absolute;left:0;bottom:0;width:min(620px,78%);height:auto;aspect-ratio:1200/300;z-index:0;opacity:.5;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.page-template-page-tous-nos-sejours-php .programmes-invite .tns-motif .m-star{transform-box:fill-box;transform-origin:center;animation:tnsTwinkle 4.6s ease-in-out infinite}
.page-template-page-tous-nos-sejours-php .programmes-invite .tns-motif .m-arch1{stroke-dasharray:1;animation:tnsFlow 7.5s ease-in-out infinite}
.page-template-page-tous-nos-sejours-php .programmes-invite .tns-motif .m-wave{animation:tnsDrift 6.2s ease-in-out infinite}
.page-template-page-tous-nos-sejours-php .programmes-invite .tns-motif .m-arch2{animation:tnsBreathe 5.4s ease-in-out infinite}
.page-template-page-tous-nos-sejours-php .programmes-invite .tns-motif .m-circle{animation:tnsBreathe 8.3s ease-in-out .6s infinite}
.page-template-page-tous-nos-sejours-php .programmes-invite .tns-motif .m-quarter{animation:tnsDrift 10s ease-in-out 1s infinite}}
@keyframes tnsTwinkle{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}
@keyframes tnsFlow{0%{stroke-dashoffset:1}30%{stroke-dashoffset:0}88%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes tnsDrift{0%,100%{transform:translateX(-7px)}50%{transform:translateX(7px)}}
@keyframes tnsBreathe{0%,100%{opacity:.32}50%{opacity:.85}}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-left{display:flex;flex-direction:column;justify-content:center}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-eyebrow{font-family:var(--font-script);color:var(--coral);font-size:clamp(1.5rem,2vw,1.8rem);line-height:1;margin:0 0 8px;display:flex;align-items:center;gap:.28em}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-eyebrow .spark{width:.62em;height:.62em;background:var(--coral);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;display:inline-block}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,3vw,2.15rem);line-height:1.05;letter-spacing:-.015em;margin:0;color:#16242e;text-wrap:balance}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-title .nb{white-space:nowrap}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-lede{color:var(--muted);font-size:1rem;line-height:1.5;margin:14px 0 0;max-width:44ch;text-wrap:pretty}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-btn{display:inline-flex;align-items:center;gap:9px;font-size:1rem;font-weight:600;text-decoration:none;padding:13px 24px;border-radius:999px;border:1.5px solid var(--blue-soft,color-mix(in oklab,var(--blue) 30%,white));color:var(--blue-ink);background:#fff;transition:border-color .2s,background .2s,color .2s,transform .2s}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-btn:hover{border-color:var(--blue);transform:translateY(-2px)}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-btn.is-primary{background:var(--blue);border-color:var(--blue);color:#fff}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-btn.is-primary:hover{background:color-mix(in oklab,var(--blue) 90%,black);border-color:color-mix(in oklab,var(--blue) 90%,black)}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos{position:relative;height:320px}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos figure{position:absolute;margin:0;border-radius:20px;overflow:hidden;box-shadow:0 34px 60px -30px rgba(15,59,80,.45);border:6px solid #fff}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos img{display:block;width:100%;height:100%;object-fit:cover}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos .pi-ph1{width:66%;top:14px;right:0;aspect-ratio:4/3.05;transform:rotate(3deg);z-index:2}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos .pi-ph2{width:56%;bottom:6px;left:0;aspect-ratio:4/3;transform:rotate(-4deg);z-index:3}
@media(max-width:900px){.page-template-page-tous-nos-sejours-php .programmes-invite{padding:44px 0}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-grid{grid-template-columns:1fr;padding:0 24px;gap:20px}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos{height:360px;margin-top:16px}}
@media(max-width:520px){.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos{height:300px}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos .pi-ph1{width:74%}
.page-template-page-tous-nos-sejours-php .programmes-invite .pi-photos .pi-ph2{width:62%}}

/* ===================== page-moins-de-18-ans.php (.page-template-page-moins-de-18-ans-php) ===================== */
.page-template-page-moins-de-18-ans-php .m18{
    --font-display:"Gambetta",serif;
    --font-script:"Kaushan Script",cursive;
    --font-body:"Outfit",sans-serif;
    --teal:oklch(0.58 0.10 215);
    --blue:oklch(0.54 0.11 217);
    --blue-ink:#0f3b50;
    --coral:#de6a4d;
    --coral-soft:#e98a72;
    --ink:oklch(0.24 0.02 250);
    --muted:oklch(0.52 0.015 250);
    --paper:oklch(0.985 0.004 230);
    --line:oklch(0.90 0.01 235);
    --hairline:oklch(0.88 0.016 238);
    --spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
    font-family:var(--font-body);color:var(--ink);background:#fff;
  }
.page-template-page-moins-de-18-ans-php .m18 *{box-sizing:border-box}
.page-template-page-moins-de-18-ans-php .m18 .container{max-width:1240px;margin:0 auto;padding:0 40px}
.page-template-page-moins-de-18-ans-php .m18 .arr{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-moins-de-18-ans-php .m18 .flag{width:26px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.1)}
.page-template-page-moins-de-18-ans-php .m18 .sphero{display:grid;grid-template-columns:8fr 4fr;align-items:stretch;min-height:400px}
.page-template-page-moins-de-18-ans-php .m18 .sp-blue{background:var(--blue);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:52px clamp(40px,5vw,72px)}
.page-template-page-moins-de-18-ans-php .m18 .sp-blue .sp-motif{position:absolute;left:0;bottom:0;width:min(700px,82%);height:auto;aspect-ratio:1200/300;z-index:1;opacity:.4;pointer-events:none}
.page-template-page-moins-de-18-ans-php .m18 .sp-blue>*{position:relative;z-index:2}
.page-template-page-moins-de-18-ans-php .m18 .sp-blue .eyebrow{font-family:var(--font-script);color:#fff;font-size:2rem;line-height:1;margin:0 0 14px;display:flex;align-items:center;gap:.3em}
.page-template-page-moins-de-18-ans-php .m18 .sp-blue .eyebrow .spark{background:#fff;width:1.2em;height:1.2em;-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;display:inline-block}
.page-template-page-moins-de-18-ans-php .m18 .sp-blue h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1.0;margin:0;font-size:clamp(2.4rem,4vw,3.2rem);max-width:20ch}
.page-template-page-moins-de-18-ans-php .m18 .sp-blue h1 em{font-style:italic;color:#fff}
.page-template-page-moins-de-18-ans-php .m18 .sp-blue .lede{font-size:1.12rem;line-height:1.45;color:rgba(255,255,255,.9);margin:16px 0 0;max-width:58ch;text-wrap:pretty}
.page-template-page-moins-de-18-ans-php .m18 .ch-meta{display:flex;gap:22px;margin-top:20px;flex-wrap:wrap}
.page-template-page-moins-de-18-ans-php .m18 .ch-meta span{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;color:rgba(255,255,255,.92)}
.page-template-page-moins-de-18-ans-php .m18 .ch-meta svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.page-template-page-moins-de-18-ans-php .m18 .sp-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:24px;background:#fff;color:var(--blue);font-weight:700;font-size:1rem;padding:15px 26px;border-radius:999px;text-decoration:none;box-shadow:0 16px 30px -16px rgba(0,0,0,.4);transition:transform .25s}
.page-template-page-moins-de-18-ans-php .m18 .sp-cta:hover{transform:translateY(-3px)}
.page-template-page-moins-de-18-ans-php .m18 .sp-cta .arr{stroke:var(--blue)}
.page-template-page-moins-de-18-ans-php .m18 .sp-photo{position:relative;overflow:hidden}
.page-template-page-moins-de-18-ans-php .m18 .sp-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.page-template-page-moins-de-18-ans-php .m18 .sp-photo .tagloc{position:absolute;left:20px;bottom:20px;z-index:2;background:rgba(4,40,50,.55);backdrop-filter:blur(4px);color:#fff;font-size:.82rem;font-weight:600;padding:8px 14px;border-radius:999px;display:flex;align-items:center;gap:8px}
.page-template-page-moins-de-18-ans-php .m18 .sp-photo .tagloc svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
@media (prefers-reduced-motion:no-preference){.page-template-page-moins-de-18-ans-php .m18 .sp-motif .m-star{transform-box:fill-box;transform-origin:center;animation:m18Twinkle 4.6s ease-in-out infinite}
.page-template-page-moins-de-18-ans-php .m18 .sp-motif .m-arch1{stroke-dasharray:1;animation:m18Flow 7.5s ease-in-out infinite}
.page-template-page-moins-de-18-ans-php .m18 .sp-motif .m-wave{animation:m18Drift 6.2s ease-in-out infinite}
.page-template-page-moins-de-18-ans-php .m18 .sp-motif .m-arch2{animation:m18Breathe 5.4s ease-in-out infinite}
.page-template-page-moins-de-18-ans-php .m18 .sp-motif .m-circle{animation:m18Breathe 8.3s ease-in-out .6s infinite}
.page-template-page-moins-de-18-ans-php .m18 .sp-motif .m-quarter{animation:m18Drift 10s ease-in-out 1s infinite}}
@keyframes m18Twinkle{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}
@keyframes m18Flow{0%{stroke-dashoffset:1}30%{stroke-dashoffset:0}88%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes m18Drift{0%,100%{transform:translateX(-7px)}50%{transform:translateX(7px)}}
@keyframes m18Breathe{0%,100%{opacity:.32}50%{opacity:.85}}
.page-template-page-moins-de-18-ans-php .m18 .reassure{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:48px 0 0}
.page-template-page-moins-de-18-ans-php .m18 .ri{display:flex;align-items:center;gap:14px}
.page-template-page-moins-de-18-ans-php .m18 .ri .ric{width:42px;height:42px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--blue) 12%,white);color:var(--blue)}
.page-template-page-moins-de-18-ans-php .m18 .ri .ric svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-moins-de-18-ans-php .m18 .ri b{display:block;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.2}
.page-template-page-moins-de-18-ans-php .m18 .ri span{font-size:.82rem;color:var(--muted)}
.page-template-page-moins-de-18-ans-php .m18 .destfilter{padding:76px 0 4px}
.page-template-page-moins-de-18-ans-php .m18 .df-lab{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}
.page-template-page-moins-de-18-ans-php .m18 .df-row{display:flex;flex-wrap:wrap;gap:12px}
.page-template-page-moins-de-18-ans-php .m18 .df{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:var(--blue-ink);background:#fff;border:1px solid var(--hairline);border-radius:999px;padding:7px 14px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.page-template-page-moins-de-18-ans-php .m18 .df:hover{border-color:var(--blue)}
.page-template-page-moins-de-18-ans-php .m18 .df.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.page-template-page-moins-de-18-ans-php .m18 .df img{width:18px;height:12px;border-radius:2px;object-fit:cover}
.page-template-page-moins-de-18-ans-php .m18 .programs{padding:6px 0 96px}
.page-template-page-moins-de-18-ans-php .m18 .prow{display:grid;grid-template-columns:5fr 7fr;gap:54px;align-items:center;padding:56px 0}
.page-template-page-moins-de-18-ans-php .m18 .prow + .prow{padding-top:56px}
.page-template-page-moins-de-18-ans-php .m18 .prow.rev{grid-template-columns:7fr 5fr}
.page-template-page-moins-de-18-ans-php .m18 .prow.rev .pr-media{order:2}
.page-template-page-moins-de-18-ans-php .m18 .pr-media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3.1}
.page-template-page-moins-de-18-ans-php .m18 .pr-media img{width:100%;height:100%;object-fit:cover;display:block}
.page-template-page-moins-de-18-ans-php .m18 .pr-media .pm-tag{position:absolute;top:16px;left:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);border-radius:999px;padding:7px 14px;font-size:.8rem;font-weight:600;color:var(--blue-ink)}
.page-template-page-moins-de-18-ans-php .m18 .pr-place{display:inline-flex;align-items:center;gap:9px;font-size:.88rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px;color:var(--coral)}
.page-template-page-moins-de-18-ans-php .m18 .pr-txt h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,2.5vw,2rem);line-height:1.08;letter-spacing:-.015em;margin:0 0 12px;color:#16242e}
.page-template-page-moins-de-18-ans-php .m18 .pr-txt p{color:var(--muted);font-size:1.03rem;line-height:1.6;margin:0 0 20px;max-width:46ch}
.page-template-page-moins-de-18-ans-php .m18 .pr-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.page-template-page-moins-de-18-ans-php .m18 .pc{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:500;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:999px;padding:8px 14px}
.page-template-page-moins-de-18-ans-php .m18 .pc svg{width:15px;height:15px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-moins-de-18-ans-php .m18 .pr-cta{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font-weight:600;font-size:.88rem;padding:11px 20px;border-radius:999px;text-decoration:none;box-shadow:0 14px 28px -14px rgba(15,59,80,.6);transition:transform .25s}
.page-template-page-moins-de-18-ans-php .m18 .pr-cta:hover{transform:translateY(-3px)}
.page-template-page-moins-de-18-ans-php .m18 .pr-cta .arr{stroke:#fff}
.page-template-page-moins-de-18-ans-php .m18 .noresult{display:none;text-align:center;color:var(--muted);font-size:1.05rem;padding:60px 0}
@media(max-width:900px){.page-template-page-moins-de-18-ans-php .m18 .sphero{grid-template-columns:1fr}
.page-template-page-moins-de-18-ans-php .m18 .sp-photo{min-height:300px}
.page-template-page-moins-de-18-ans-php .m18 .reassure{grid-template-columns:1fr 1fr;gap:24px}
.page-template-page-moins-de-18-ans-php .m18 .prow{grid-template-columns:1fr;gap:26px;padding:40px 0}
.page-template-page-moins-de-18-ans-php .m18 .prow.rev .pr-media{order:0}}
@media(max-width:560px){.page-template-page-moins-de-18-ans-php .m18 .reassure{grid-template-columns:1fr}}

/* ===================== page-plus-de-18-ans.php (.page-template-page-plus-de-18-ans-php) ===================== */
.page-template-page-plus-de-18-ans-php .p18{
    --font-display:"Gambetta",serif;
    --font-script:"Kaushan Script",cursive;
    --font-body:"Outfit",sans-serif;
    --teal:oklch(0.58 0.10 215);
    --blue:oklch(0.54 0.11 217);
    --blue-ink:#0f3b50;
    --coral:#de6a4d;
    --coral-soft:#e98a72;
    --ink:oklch(0.24 0.02 250);
    --muted:oklch(0.52 0.015 250);
    --paper:oklch(0.985 0.004 230);
    --line:oklch(0.90 0.01 235);
    --hairline:oklch(0.88 0.016 238);
    --spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
    font-family:var(--font-body);color:var(--ink);background:#fff;
  }
.page-template-page-plus-de-18-ans-php .p18 *{box-sizing:border-box}
.page-template-page-plus-de-18-ans-php .p18 .container{max-width:1240px;margin:0 auto;padding:0 40px}
.page-template-page-plus-de-18-ans-php .p18 .arr{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-plus-de-18-ans-php .p18 .flag{width:26px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.1)}
.page-template-page-plus-de-18-ans-php .p18 .sphero{display:grid;grid-template-columns:8fr 4fr;align-items:stretch;min-height:400px}
.page-template-page-plus-de-18-ans-php .p18 .sp-blue{background:var(--blue);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:52px clamp(40px,5vw,72px)}
.page-template-page-plus-de-18-ans-php .p18 .sp-blue .sp-motif{position:absolute;left:0;bottom:0;width:min(700px,82%);height:auto;aspect-ratio:1200/300;z-index:1;opacity:.4;pointer-events:none}
.page-template-page-plus-de-18-ans-php .p18 .sp-blue>*{position:relative;z-index:2}
.page-template-page-plus-de-18-ans-php .p18 .sp-blue .eyebrow{font-family:var(--font-script);color:#fff;font-size:2rem;line-height:1;margin:0 0 14px;display:flex;align-items:center;gap:.3em}
.page-template-page-plus-de-18-ans-php .p18 .sp-blue .eyebrow .spark{background:#fff;width:1.2em;height:1.2em;-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;display:inline-block}
.page-template-page-plus-de-18-ans-php .p18 .sp-blue h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1.0;margin:0;font-size:clamp(2.4rem,4vw,3.2rem);max-width:20ch}
.page-template-page-plus-de-18-ans-php .p18 .sp-blue h1 em{font-style:italic;color:#fff}
.page-template-page-plus-de-18-ans-php .p18 .sp-blue .lede{font-size:1.12rem;line-height:1.45;color:rgba(255,255,255,.9);margin:16px 0 0;max-width:58ch;text-wrap:pretty}
.page-template-page-plus-de-18-ans-php .p18 .ch-meta{display:flex;gap:22px;margin-top:20px;flex-wrap:wrap}
.page-template-page-plus-de-18-ans-php .p18 .ch-meta span{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;color:rgba(255,255,255,.92)}
.page-template-page-plus-de-18-ans-php .p18 .ch-meta svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.page-template-page-plus-de-18-ans-php .p18 .sp-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:24px;background:#fff;color:var(--blue);font-weight:700;font-size:1rem;padding:15px 26px;border-radius:999px;text-decoration:none;box-shadow:0 16px 30px -16px rgba(0,0,0,.4);transition:transform .25s}
.page-template-page-plus-de-18-ans-php .p18 .sp-cta:hover{transform:translateY(-3px)}
.page-template-page-plus-de-18-ans-php .p18 .sp-cta .arr{stroke:var(--blue)}
.page-template-page-plus-de-18-ans-php .p18 .sp-photo{position:relative;overflow:hidden}
.page-template-page-plus-de-18-ans-php .p18 .sp-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.page-template-page-plus-de-18-ans-php .p18 .sp-photo .tagloc{position:absolute;left:20px;bottom:20px;z-index:2;background:rgba(4,40,50,.55);backdrop-filter:blur(4px);color:#fff;font-size:.82rem;font-weight:600;padding:8px 14px;border-radius:999px;display:flex;align-items:center;gap:8px}
.page-template-page-plus-de-18-ans-php .p18 .sp-photo .tagloc svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
@media (prefers-reduced-motion:no-preference){.page-template-page-plus-de-18-ans-php .p18 .sp-motif .m-star{transform-box:fill-box;transform-origin:center;animation:p18Twinkle 4.6s ease-in-out infinite}
.page-template-page-plus-de-18-ans-php .p18 .sp-motif .m-arch1{stroke-dasharray:1;animation:p18Flow 7.5s ease-in-out infinite}
.page-template-page-plus-de-18-ans-php .p18 .sp-motif .m-wave{animation:p18Drift 6.2s ease-in-out infinite}
.page-template-page-plus-de-18-ans-php .p18 .sp-motif .m-arch2{animation:p18Breathe 5.4s ease-in-out infinite}
.page-template-page-plus-de-18-ans-php .p18 .sp-motif .m-circle{animation:p18Breathe 8.3s ease-in-out .6s infinite}
.page-template-page-plus-de-18-ans-php .p18 .sp-motif .m-quarter{animation:p18Drift 10s ease-in-out 1s infinite}}
@keyframes p18Twinkle{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}
@keyframes p18Flow{0%{stroke-dashoffset:1}30%{stroke-dashoffset:0}88%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes p18Drift{0%,100%{transform:translateX(-7px)}50%{transform:translateX(7px)}}
@keyframes p18Breathe{0%,100%{opacity:.32}50%{opacity:.85}}
.page-template-page-plus-de-18-ans-php .p18 .reassure{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:48px 0 0}
.page-template-page-plus-de-18-ans-php .p18 .ri{display:flex;align-items:center;gap:14px}
.page-template-page-plus-de-18-ans-php .p18 .ri .ric{width:42px;height:42px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--blue) 12%,white);color:var(--blue)}
.page-template-page-plus-de-18-ans-php .p18 .ri .ric svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-plus-de-18-ans-php .p18 .ri b{display:block;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.2}
.page-template-page-plus-de-18-ans-php .p18 .ri span{font-size:.82rem;color:var(--muted)}
.page-template-page-plus-de-18-ans-php .p18 .destfilter{padding:76px 0 4px}
.page-template-page-plus-de-18-ans-php .p18 .df-lab{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}
.page-template-page-plus-de-18-ans-php .p18 .df-row{display:flex;flex-wrap:wrap;gap:12px}
.page-template-page-plus-de-18-ans-php .p18 .df{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:var(--blue-ink);background:#fff;border:1px solid var(--hairline);border-radius:999px;padding:7px 14px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.page-template-page-plus-de-18-ans-php .p18 .df:hover{border-color:var(--blue)}
.page-template-page-plus-de-18-ans-php .p18 .df.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.page-template-page-plus-de-18-ans-php .p18 .df img{width:18px;height:12px;border-radius:2px;object-fit:cover}
.page-template-page-plus-de-18-ans-php .p18 .programs{padding:6px 0 96px}
.page-template-page-plus-de-18-ans-php .p18 .prow{display:grid;grid-template-columns:5fr 7fr;gap:54px;align-items:center;padding:56px 0}
.page-template-page-plus-de-18-ans-php .p18 .prow + .prow{padding-top:56px}
.page-template-page-plus-de-18-ans-php .p18 .prow.rev{grid-template-columns:7fr 5fr}
.page-template-page-plus-de-18-ans-php .p18 .prow.rev .pr-media{order:2}
.page-template-page-plus-de-18-ans-php .p18 .pr-media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3.1}
.page-template-page-plus-de-18-ans-php .p18 .pr-media img{width:100%;height:100%;object-fit:cover;display:block}
.page-template-page-plus-de-18-ans-php .p18 .pr-media .pm-tag{position:absolute;top:16px;left:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);border-radius:999px;padding:7px 14px;font-size:.8rem;font-weight:600;color:var(--blue-ink)}
.page-template-page-plus-de-18-ans-php .p18 .pr-place{display:inline-flex;align-items:center;gap:9px;font-size:.88rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px;color:var(--coral)}
.page-template-page-plus-de-18-ans-php .p18 .pr-txt h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,2.5vw,2rem);line-height:1.08;letter-spacing:-.015em;margin:0 0 12px;color:#16242e}
.page-template-page-plus-de-18-ans-php .p18 .pr-txt p{color:var(--muted);font-size:1.03rem;line-height:1.6;margin:0 0 20px;max-width:46ch}
.page-template-page-plus-de-18-ans-php .p18 .pr-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.page-template-page-plus-de-18-ans-php .p18 .pc{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:500;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:999px;padding:8px 14px}
.page-template-page-plus-de-18-ans-php .p18 .pc svg{width:15px;height:15px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-plus-de-18-ans-php .p18 .pr-cta{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font-weight:600;font-size:.88rem;padding:11px 20px;border-radius:999px;text-decoration:none;box-shadow:0 14px 28px -14px rgba(15,59,80,.6);transition:transform .25s}
.page-template-page-plus-de-18-ans-php .p18 .pr-cta:hover{transform:translateY(-3px)}
.page-template-page-plus-de-18-ans-php .p18 .pr-cta .arr{stroke:#fff}
.page-template-page-plus-de-18-ans-php .p18 .noresult{display:none;text-align:center;color:var(--muted);font-size:1.05rem;padding:60px 0}
@media(max-width:900px){.page-template-page-plus-de-18-ans-php .p18 .sphero{grid-template-columns:1fr}
.page-template-page-plus-de-18-ans-php .p18 .sp-photo{min-height:300px}
.page-template-page-plus-de-18-ans-php .p18 .reassure{grid-template-columns:1fr 1fr;gap:24px}
.page-template-page-plus-de-18-ans-php .p18 .prow{grid-template-columns:1fr;gap:26px;padding:40px 0}
.page-template-page-plus-de-18-ans-php .p18 .prow.rev .pr-media{order:0}}
@media(max-width:560px){.page-template-page-plus-de-18-ans-php .p18 .reassure{grid-template-columns:1fr}}

/* ===================== page-high-school.php (.page-template-page-high-school-php) ===================== */
.page-template-page-high-school-php .hsp{
    --font-display:"Gambetta",serif;
    --font-script:"Kaushan Script",cursive;
    --font-body:"Outfit",sans-serif;
    --teal:oklch(0.58 0.10 215);
    --blue:oklch(0.54 0.11 217);
    --blue-ink:#0f3b50;
    --coral:#de6a4d;
    --coral-soft:#e98a72;
    --ink:oklch(0.24 0.02 250);
    --muted:oklch(0.52 0.015 250);
    --paper:oklch(0.985 0.004 230);
    --line:oklch(0.90 0.01 235);
    --hairline:oklch(0.88 0.016 238);
    --spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
    font-family:var(--font-body);color:var(--ink);background:#fff;
  }
.page-template-page-high-school-php .hsp *{box-sizing:border-box}
.page-template-page-high-school-php .hsp .container{max-width:1240px;margin:0 auto;padding:0 40px}
.page-template-page-high-school-php .hsp .arr{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-high-school-php .hsp .flag{width:26px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.1)}
.page-template-page-high-school-php .hsp .sphero{display:grid;grid-template-columns:8fr 4fr;align-items:stretch;min-height:400px}
.page-template-page-high-school-php .hsp .sp-blue{background:var(--blue);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:52px clamp(40px,5vw,72px)}
.page-template-page-high-school-php .hsp .sp-blue .sp-motif{position:absolute;left:0;bottom:0;width:min(700px,82%);height:auto;aspect-ratio:1200/300;z-index:1;opacity:.4;pointer-events:none}
.page-template-page-high-school-php .hsp .sp-blue>*{position:relative;z-index:2}
.page-template-page-high-school-php .hsp .sp-blue .eyebrow{font-family:var(--font-script);color:#fff;font-size:2rem;line-height:1;margin:0 0 14px;display:flex;align-items:center;gap:.3em}
.page-template-page-high-school-php .hsp .sp-blue .eyebrow .spark{background:#fff;width:1.2em;height:1.2em;-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;display:inline-block}
.page-template-page-high-school-php .hsp .sp-blue h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1.0;margin:0;font-size:clamp(2.4rem,4vw,3.2rem);max-width:20ch}
.page-template-page-high-school-php .hsp .sp-blue h1 em{font-style:italic;color:#fff}
.page-template-page-high-school-php .hsp .sp-blue .lede{font-size:1.12rem;line-height:1.45;color:rgba(255,255,255,.9);margin:16px 0 0;max-width:58ch;text-wrap:pretty}
.page-template-page-high-school-php .hsp .ch-meta{display:flex;gap:22px;margin-top:20px;flex-wrap:wrap}
.page-template-page-high-school-php .hsp .ch-meta span{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;color:rgba(255,255,255,.92)}
.page-template-page-high-school-php .hsp .ch-meta svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.page-template-page-high-school-php .hsp .sp-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:24px;background:#fff;color:var(--blue);font-weight:700;font-size:1rem;padding:15px 26px;border-radius:999px;text-decoration:none;box-shadow:0 16px 30px -16px rgba(0,0,0,.4);transition:transform .25s}
.page-template-page-high-school-php .hsp .sp-cta:hover{transform:translateY(-3px)}
.page-template-page-high-school-php .hsp .sp-cta .arr{stroke:var(--blue)}
.page-template-page-high-school-php .hsp .sp-photo{position:relative;overflow:hidden}
.page-template-page-high-school-php .hsp .sp-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.page-template-page-high-school-php .hsp .sp-photo .tagloc{position:absolute;left:20px;bottom:20px;z-index:2;background:rgba(4,40,50,.55);backdrop-filter:blur(4px);color:#fff;font-size:.82rem;font-weight:600;padding:8px 14px;border-radius:999px;display:flex;align-items:center;gap:8px}
.page-template-page-high-school-php .hsp .sp-photo .tagloc svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
@media (prefers-reduced-motion:no-preference){.page-template-page-high-school-php .hsp .sp-motif .m-star{transform-box:fill-box;transform-origin:center;animation:hspTwinkle 4.6s ease-in-out infinite}
.page-template-page-high-school-php .hsp .sp-motif .m-arch1{stroke-dasharray:1;animation:hspFlow 7.5s ease-in-out infinite}
.page-template-page-high-school-php .hsp .sp-motif .m-wave{animation:hspDrift 6.2s ease-in-out infinite}
.page-template-page-high-school-php .hsp .sp-motif .m-arch2{animation:hspBreathe 5.4s ease-in-out infinite}
.page-template-page-high-school-php .hsp .sp-motif .m-circle{animation:hspBreathe 8.3s ease-in-out .6s infinite}
.page-template-page-high-school-php .hsp .sp-motif .m-quarter{animation:hspDrift 10s ease-in-out 1s infinite}}
@keyframes hspTwinkle{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}
@keyframes hspFlow{0%{stroke-dashoffset:1}30%{stroke-dashoffset:0}88%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes hspDrift{0%,100%{transform:translateX(-7px)}50%{transform:translateX(7px)}}
@keyframes hspBreathe{0%,100%{opacity:.32}50%{opacity:.85}}
.page-template-page-high-school-php .hsp .reassure{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:48px 0 0}
.page-template-page-high-school-php .hsp .ri{display:flex;align-items:center;gap:14px}
.page-template-page-high-school-php .hsp .ri .ric{width:42px;height:42px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--blue) 12%,white);color:var(--blue)}
.page-template-page-high-school-php .hsp .ri .ric svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-high-school-php .hsp .ri b{display:block;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.2}
.page-template-page-high-school-php .hsp .ri span{font-size:.82rem;color:var(--muted)}
.page-template-page-high-school-php .hsp .destfilter{padding:76px 0 4px}
.page-template-page-high-school-php .hsp .df-lab{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}
.page-template-page-high-school-php .hsp .df-row{display:flex;flex-wrap:wrap;gap:12px}
.page-template-page-high-school-php .hsp .df{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:var(--blue-ink);background:#fff;border:1px solid var(--hairline);border-radius:999px;padding:7px 14px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.page-template-page-high-school-php .hsp .df:hover{border-color:var(--blue)}
.page-template-page-high-school-php .hsp .df.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.page-template-page-high-school-php .hsp .df img{width:18px;height:12px;border-radius:2px;object-fit:cover}
.page-template-page-high-school-php .hsp .programs{padding:6px 0 96px}
.page-template-page-high-school-php .hsp .prow{display:grid;grid-template-columns:5fr 7fr;gap:54px;align-items:center;padding:56px 0}
.page-template-page-high-school-php .hsp .prow + .prow{padding-top:56px}
.page-template-page-high-school-php .hsp .prow.rev{grid-template-columns:7fr 5fr}
.page-template-page-high-school-php .hsp .prow.rev .pr-media{order:2}
.page-template-page-high-school-php .hsp .pr-media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3.1}
.page-template-page-high-school-php .hsp .pr-media img{width:100%;height:100%;object-fit:cover;display:block}
.page-template-page-high-school-php .hsp .pr-media .pm-tag{position:absolute;top:16px;left:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);border-radius:999px;padding:7px 14px;font-size:.8rem;font-weight:600;color:var(--blue-ink)}
.page-template-page-high-school-php .hsp .pr-place{display:inline-flex;align-items:center;gap:9px;font-size:.88rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px;color:var(--coral)}
.page-template-page-high-school-php .hsp .pr-txt h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,2.5vw,2rem);line-height:1.08;letter-spacing:-.015em;margin:0 0 12px;color:#16242e}
.page-template-page-high-school-php .hsp .pr-txt p{color:var(--muted);font-size:1.03rem;line-height:1.6;margin:0 0 20px;max-width:46ch}
.page-template-page-high-school-php .hsp .pr-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.page-template-page-high-school-php .hsp .pc{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:500;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:999px;padding:8px 14px}
.page-template-page-high-school-php .hsp .pc svg{width:15px;height:15px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-high-school-php .hsp .pr-cta{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font-weight:600;font-size:.88rem;padding:11px 20px;border-radius:999px;text-decoration:none;box-shadow:0 14px 28px -14px rgba(15,59,80,.6);transition:transform .25s}
.page-template-page-high-school-php .hsp .pr-cta:hover{transform:translateY(-3px)}
.page-template-page-high-school-php .hsp .pr-cta .arr{stroke:#fff}
.page-template-page-high-school-php .hsp .noresult{display:none;text-align:center;color:var(--muted);font-size:1.05rem;padding:60px 0}
@media(max-width:900px){.page-template-page-high-school-php .hsp .sphero{grid-template-columns:1fr}
.page-template-page-high-school-php .hsp .sp-photo{min-height:300px}
.page-template-page-high-school-php .hsp .reassure{grid-template-columns:1fr 1fr;gap:24px}
.page-template-page-high-school-php .hsp .prow{grid-template-columns:1fr;gap:26px;padding:40px 0}
.page-template-page-high-school-php .hsp .prow.rev .pr-media{order:0}}
@media(max-width:560px){.page-template-page-high-school-php .hsp .reassure{grid-template-columns:1fr}}

/* ===================== page-contact.php (.page-template-page-contact-php) ===================== */
.page-template-page-contact-php .ilc{
    --font-display:"Gambetta",serif;
    --font-script:"Kaushan Script",cursive;
    --font-body:"Outfit",sans-serif;
    --blue:oklch(0.54 0.11 217);
    --blue-ink:#0f3b50;
    --coral:#de6a4d;
    --coral-soft:#e98a72;
    --ink:oklch(0.24 0.02 250);
    --muted:oklch(0.52 0.015 250);
    --line:oklch(0.90 0.01 235);
    font-family:var(--font-body);color:var(--ink);background:#fff;
  }
.page-template-page-contact-php .ilc *{box-sizing:border-box}
.page-template-page-contact-php .ilc .band{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--blue),#2f6f9e);color:#fff;padding:74px 40px 150px;text-align:center}
.page-template-page-contact-php .ilc .band>*{position:relative;z-index:2}
.page-template-page-contact-php .ilc .band .eyebrow{font-family:var(--font-script);color:var(--coral-soft);font-size:clamp(1.8rem,2.6vw,2.2rem);line-height:1;margin:0 0 12px}
.page-template-page-contact-php .ilc .band h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,4vw,2.9rem);line-height:1.06;letter-spacing:-.015em;margin:0 auto;color:#fff;max-width:18ch}
.page-template-page-contact-php .ilc .band p{color:rgba(255,255,255,.88);font-size:1.08rem;line-height:1.5;margin:16px auto 0;max-width:52ch}
.page-template-page-contact-php .ilc .contact-row{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.page-template-page-contact-php .ilc .crow{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:10px 18px;font-size:.92rem;font-weight:500;color:#fff;text-decoration:none}
.page-template-page-contact-php .ilc .crow svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round}
.page-template-page-contact-php .ilc .card{position:relative;z-index:3;max-width:920px;margin:-110px auto 80px;background:#fff;border-radius:24px;box-shadow:0 40px 80px -44px rgba(15,59,80,.5);padding:48px clamp(28px,5vw,56px)}
.page-template-page-contact-php .ilc .card h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem;margin:0 0 24px;color:#16242e}
.page-template-page-contact-php .ilc .field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.page-template-page-contact-php .ilc .field label{font-size:.86rem;font-weight:600;color:var(--blue-ink)}
.page-template-page-contact-php .ilc .field .req{color:var(--coral)}
.page-template-page-contact-php .ilc .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.page-template-page-contact-php .ilc .field input, .page-template-page-contact-php .ilc .field select, .page-template-page-contact-php .ilc .field textarea, .page-template-page-contact-php .ilc .wpcf7-form-control.wpcf7-text, .page-template-page-contact-php .ilc .wpcf7-form-control.wpcf7-select, .page-template-page-contact-php .ilc .wpcf7-form-control.wpcf7-textarea{
    font-family:var(--font-body);font-size:15px;color:var(--ink);background:#fff;
    border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;width:100%;outline:none;
    transition:border-color .2s,box-shadow .2s}
.page-template-page-contact-php .ilc .field textarea, .page-template-page-contact-php .ilc .wpcf7-textarea{resize:vertical;min-height:120px}
.page-template-page-contact-php .ilc .field input:focus, .page-template-page-contact-php .ilc .field select:focus, .page-template-page-contact-php .ilc .field textarea:focus, .page-template-page-contact-php .ilc .wpcf7-form-control:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in oklab,var(--blue) 16%,transparent)}
.page-template-page-contact-php .ilc .field select, .page-template-page-contact-php .ilc .wpcf7-select{appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f3b50' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9.5 12 15l6-5.5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:42px;color:var(--blue-ink)}
.page-template-page-contact-php .ilc .form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:6px;flex-wrap:wrap}
.page-template-page-contact-php .ilc .form-foot .note{font-size:.82rem;color:var(--muted);max-width:40ch;margin:0}
.page-template-page-contact-php .ilc .submit, .page-template-page-contact-php .ilc .wpcf7-submit{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:#fff;
    font-family:var(--font-body);font-weight:700;font-size:1rem;padding:15px 30px;border:none;border-radius:999px;cursor:pointer;
    box-shadow:0 16px 30px -14px rgba(15,59,80,.6);transition:transform .25s}
.page-template-page-contact-php .ilc .submit:hover, .page-template-page-contact-php .ilc .wpcf7-submit:hover{transform:translateY(-3px)}
.page-template-page-contact-php .ilc .wpcf7-response-output{border-radius:12px;margin:14px 0 0;font-size:.9rem}
.page-template-page-contact-php .ilc .wpcf7-not-valid-tip{color:var(--coral);font-size:.8rem;margin-top:4px}
@media(max-width:680px){.page-template-page-contact-php .ilc .grid2{grid-template-columns:1fr}}

/* ===================== page-qui-sommes-nous.php (.page-template-page-qui-sommes-nous-php) ===================== */
.page-template-page-qui-sommes-nous-php .qsn{
    --font-display:"Gambetta",serif;
    --font-script:"Kaushan Script",cursive;
    --font-body:"Outfit",sans-serif;
    --blue:#007d98;
    --blue-soft:rgba(0,125,152,.28);
    --coral:#de6a4d;
    --coral-soft:#e98a72;
    --ink:oklch(0.24 0.02 250);
    --paper:oklch(0.985 0.004 230);
    --card:#fff;
    --hairline:oklch(0.88 0.016 238);
    --muted:oklch(0.52 0.015 250);
    --spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
    font-family:var(--font-body);color:var(--ink);background:#fff;width:100%;
  }
.page-template-page-qui-sommes-nous-php .qsn *{box-sizing:border-box}
.page-template-page-qui-sommes-nous-php .qsn a{color:inherit;text-decoration:none}
.page-template-page-qui-sommes-nous-php .qsn .container{max-width:1080px;margin:0 auto;padding:0 56px}
.page-template-page-qui-sommes-nous-php .qsn .spk{display:inline-block;background:var(--coral);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat}
.page-template-page-qui-sommes-nous-php .qsn .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:700;font-size:1rem;padding:15px 26px;border-radius:999px;border:1.6px solid transparent;cursor:pointer;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s,color .25s}
.page-template-page-qui-sommes-nous-php .qsn .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-qui-sommes-nous-php .qsn .btn-primary{background:var(--coral);color:#fff;box-shadow:0 16px 30px -14px rgba(222,106,77,.7)}
.page-template-page-qui-sommes-nous-php .qsn .btn-primary:hover{transform:translateY(-3px);box-shadow:0 22px 40px -16px rgba(222,106,77,.7)}
.page-template-page-qui-sommes-nous-php .qsn .btn-blue{background:var(--blue);color:#fff !important;box-shadow:0 16px 30px -14px rgba(0,125,152,.55)}
.page-template-page-qui-sommes-nous-php .qsn .btn-blue svg{stroke:#fff}
.page-template-page-qui-sommes-nous-php .qsn .btn-blue:hover{transform:translateY(-3px);box-shadow:0 22px 42px -16px rgba(0,125,152,.55)}
.page-template-page-qui-sommes-nous-php .qsn .fluid{width:100%}
.page-template-page-qui-sommes-nous-php .qsn .hero-split{display:grid;grid-template-columns:8fr 4fr;align-items:stretch;min-height:540px}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue{background:var(--blue);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:78px clamp(48px,6vw,96px)}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue .hero-motif{position:absolute;left:0;bottom:0;width:min(700px,82%);height:auto;aspect-ratio:1200/300;z-index:1;opacity:.4;pointer-events:none}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue>*{position:relative;z-index:2}
.page-template-page-qui-sommes-nous-php .qsn .hero-motif .m-anim{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){.page-template-page-qui-sommes-nous-php .qsn .hero-motif .m-star{animation:qsnTwinkle 4.6s ease-in-out infinite}
.page-template-page-qui-sommes-nous-php .qsn .hero-motif .m-arch1{stroke-dasharray:1;animation:qsnFlow 7.5s ease-in-out infinite}
.page-template-page-qui-sommes-nous-php .qsn .hero-motif .m-wave{animation:qsnDrift 6.2s ease-in-out infinite}
.page-template-page-qui-sommes-nous-php .qsn .hero-motif .m-arch2{animation:qsnBreathe 5.4s ease-in-out infinite}
.page-template-page-qui-sommes-nous-php .qsn .hero-motif .m-circle{animation:qsnBreathe 8.3s ease-in-out .6s infinite}
.page-template-page-qui-sommes-nous-php .qsn .hero-motif .m-quarter{animation:qsnDrift 10s ease-in-out 1s infinite}}
@keyframes qsnTwinkle{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}
@keyframes qsnFlow{0%{stroke-dashoffset:1}30%{stroke-dashoffset:0}88%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes qsnDrift{0%,100%{transform:translateX(-7px)}50%{transform:translateX(7px)}}
@keyframes qsnBreathe{0%,100%{opacity:.32}50%{opacity:.85}}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue .eyebrow{font-family:var(--font-script);color:#fff;font-size:2.1rem;line-height:1;margin:0 0 16px;display:flex;align-items:center;gap:.3em;opacity:.95}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue .eyebrow .spk{width:1.3em;height:1.3em;margin-top:-.1em;background:#fff}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.022em;line-height:1.03;margin:0;font-size:clamp(2.6rem,4.4vw,3.9rem);max-width:18ch}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue h1 em{font-style:italic;color:#fff}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue .lede{font-size:1.2rem;line-height:1.55;color:rgba(255,255,255,.9);margin:26px 0 0;max-width:50ch;text-wrap:pretty}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue .btn-primary{background:#fff;color:var(--blue);box-shadow:0 16px 30px -16px rgba(0,0,0,.4)}
.page-template-page-qui-sommes-nous-php .qsn .hero-blue .btn-primary:hover{transform:translateY(-3px)}
.page-template-page-qui-sommes-nous-php .qsn .hero-photo{position:relative;overflow:hidden}
.page-template-page-qui-sommes-nous-php .qsn .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.page-template-page-qui-sommes-nous-php .qsn .hero-photo .tagloc{position:absolute;left:20px;bottom:20px;z-index:2;background:rgba(4,40,50,.55);backdrop-filter:blur(4px);color:#fff;font-size:.82rem;font-weight:600;padding:8px 14px;border-radius:999px;display:flex;align-items:center;gap:8px}
.page-template-page-qui-sommes-nous-php .qsn .hero-photo .tagloc svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.page-template-page-qui-sommes-nous-php .qsn .reassur{padding:112px 0 96px}
.page-template-page-qui-sommes-nous-php .qsn .reassur .grid{display:grid;grid-template-columns:auto 1fr;gap:54px;align-items:stretch}
.page-template-page-qui-sommes-nous-php .qsn .reassur .lab{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);white-space:nowrap;display:flex;align-items:center;gap:16px}
.page-template-page-qui-sommes-nous-php .qsn .reassur .lab::after{content:"";display:block;width:2px;height:54px;background:var(--coral);opacity:.5}
.page-template-page-qui-sommes-nous-php .qsn .rea-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.page-template-page-qui-sommes-nous-php .qsn .rea-card{background:#fff;border:1px solid var(--hairline);border-radius:20px;padding:34px 28px 30px}
.page-template-page-qui-sommes-nous-php .qsn .rea-ic{width:60px;height:60px;margin-bottom:22px;color:var(--blue)}
.page-template-page-qui-sommes-nous-php .qsn .rea-card:nth-child(2) .rea-ic, .page-template-page-qui-sommes-nous-php .qsn .rea-card:nth-child(4) .rea-ic{color:var(--coral)}
.page-template-page-qui-sommes-nous-php .qsn .rea-ic svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-qui-sommes-nous-php .qsn .rea-ic .df{fill:currentColor;opacity:.13;stroke:none}
.page-template-page-qui-sommes-nous-php .qsn .rea-ic .ds{fill:none;stroke:currentColor}
.page-template-page-qui-sommes-nous-php .qsn .rea-card h3{font-family:var(--font-display);font-weight:700;font-size:1.28rem;line-height:1.14;margin:0 0 10px}
.page-template-page-qui-sommes-nous-php .qsn .rea-card p{color:var(--muted);font-size:.97rem;line-height:1.58;margin:0}
.page-template-page-qui-sommes-nous-php .qsn .rea-ic svg [pathLength]{stroke-dasharray:1}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed .rea-card{opacity:0;transform:translateY(16px)}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed .rea-ic{opacity:0;transform:scale(.82)}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed .rea-ic svg [pathLength]{stroke-dashoffset:1}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card{animation:qsnReaRise .6s cubic-bezier(.2,.7,.2,1) forwards}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(1){animation-delay:.05s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(2){animation-delay:.23s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(3){animation-delay:.41s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(4){animation-delay:.59s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-ic{animation:qsnIcoFade .55s cubic-bezier(.2,.7,.2,1) forwards}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(1) .rea-ic{animation-delay:.30s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(2) .rea-ic{animation-delay:.55s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(3) .rea-ic{animation-delay:.80s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(4) .rea-ic{animation-delay:1.05s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-ic svg [pathLength]{animation:qsnReaDraw .9s ease forwards}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(1) .rea-ic svg [pathLength]{animation-delay:.38s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(2) .rea-ic svg [pathLength]{animation-delay:.63s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(3) .rea-ic svg [pathLength]{animation-delay:.88s}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed.play .rea-card:nth-child(4) .rea-ic svg [pathLength]{animation-delay:1.13s}
@keyframes qsnReaRise{to{opacity:1;transform:none}}
@keyframes qsnIcoFade{to{opacity:1;transform:none}}
@keyframes qsnReaDraw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.page-template-page-qui-sommes-nous-php .qsn .reassur.armed .rea-card, .page-template-page-qui-sommes-nous-php .qsn .reassur.armed .rea-ic{opacity:1;transform:none}
.page-template-page-qui-sommes-nous-php .qsn .reassur.armed .rea-ic svg [pathLength]{stroke-dashoffset:0}}
.page-template-page-qui-sommes-nous-php .qsn .worldblock{background:var(--blue);color:#fff;position:relative;overflow:hidden}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .mapbg{position:absolute;inset:0;background-position:center 50%;background-size:min(1280px,92%) auto;background-repeat:no-repeat;opacity:.17;z-index:0;pointer-events:none}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .inner{padding:92px 0;position:relative;z-index:2}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .head{max-width:50ch}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .head .eyebrow{font-family:var(--font-script);color:#fff;font-size:2.1rem;line-height:1;margin:0 0 12px;display:flex;align-items:center;gap:.3em;opacity:.95}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .head .eyebrow .spk{width:1.3em;height:1.3em;margin-top:-.1em;background:#fff}
.page-template-page-qui-sommes-nous-php .qsn .worldblock h2{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.08;letter-spacing:-.015em;margin:0;max-width:20ch}
.page-template-page-qui-sommes-nous-php .qsn .worldblock h2 em{font-style:italic;color:var(--coral-soft)}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .head p{color:rgba(255,255,255,.88);font-size:1.1rem;line-height:1.55;margin:16px 0 0}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:62px;border-top:1px solid rgba(255,255,255,.22);padding-top:42px}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .stats .n{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,4.2vw,3.4rem);line-height:1}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .stats .n .plus{color:var(--coral-soft)}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .stats p{color:rgba(255,255,255,.86);font-size:.98rem;margin:9px 0 0;line-height:1.4}
.page-template-page-qui-sommes-nous-php .qsn .infoprat{padding:104px 0}
.page-template-page-qui-sommes-nous-php .qsn .ip-card{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}
.page-template-page-qui-sommes-nous-php .qsn .ip-card .eyebrow{font-family:var(--font-script);color:var(--coral);font-size:2.1rem;line-height:1;margin:0 0 12px;display:flex;align-items:center;gap:.3em}
.page-template-page-qui-sommes-nous-php .qsn .ip-card .eyebrow .spk{width:1.3em;height:1.3em;margin-top:-.1em}
.page-template-page-qui-sommes-nous-php .qsn .ip-card h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.1;margin:0;max-width:18ch}
.page-template-page-qui-sommes-nous-php .qsn .ip-card h2 em{font-style:italic;color:var(--blue)}
.page-template-page-qui-sommes-nous-php .qsn .ip-card p{color:var(--muted);font-size:1.05rem;line-height:1.6;margin:14px 0 0;max-width:46ch}
.page-template-page-qui-sommes-nous-php .qsn .ip-list{display:flex;flex-direction:column;gap:2px}
.page-template-page-qui-sommes-nous-php .qsn .ip-list a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 4px;border-top:1px solid var(--hairline);font-family:var(--font-display);font-weight:700;font-size:1.12rem;transition:color .2s,padding .2s}
.page-template-page-qui-sommes-nous-php .qsn .ip-list a:last-child{border-bottom:1px solid var(--hairline)}
.page-template-page-qui-sommes-nous-php .qsn .ip-list a:hover{color:var(--blue);padding-left:10px}
.page-template-page-qui-sommes-nous-php .qsn .ip-list a .ar{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--blue-soft);display:flex;align-items:center;justify-content:center;color:var(--blue);transition:.25s}
.page-template-page-qui-sommes-nous-php .qsn .ip-list a:hover .ar{background:var(--blue);color:#fff}
.page-template-page-qui-sommes-nous-php .qsn .ip-list a .ar svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-qui-sommes-nous-php .qsn .ip-card .ip-cta{margin-top:26px}
.page-template-page-qui-sommes-nous-php .qsn .contactband{padding:0 0 120px}
.page-template-page-qui-sommes-nous-php .qsn .contactband .inner{position:relative;overflow:hidden;border-radius:30px;background:var(--blue);color:#fff;padding:72px 64px;isolation:isolate}
.page-template-page-qui-sommes-nous-php .qsn .contactband .cb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.page-template-page-qui-sommes-nous-php .qsn .contactband .cb-veil{position:absolute;inset:0;z-index:1;background:var(--blue);opacity:.62}
.page-template-page-qui-sommes-nous-php .qsn .contactband .inner::before{content:"";position:absolute;right:-60px;top:-80px;width:360px;height:360px;background:var(--spark);background-size:contain;background-repeat:no-repeat;opacity:.08;z-index:0}
.page-template-page-qui-sommes-nous-php .qsn .contactband .inner::after{content:"";position:absolute;left:-40px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,var(--coral) 0%,transparent 70%);opacity:.3;z-index:0}
.page-template-page-qui-sommes-nous-php .qsn .contactband .row{position:relative;z-index:3;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.page-template-page-qui-sommes-nous-php .qsn .contactband .h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.08;letter-spacing:-.015em;margin:0;color:#fff;display:flex;align-items:center;gap:.18em;flex-wrap:wrap}
.page-template-page-qui-sommes-nous-php .qsn .contactband .h2 .spark{width:1.05em;height:1.05em;display:inline-block;background:#fff;-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat}
.page-template-page-qui-sommes-nous-php .qsn .contactband .h2 em{font-style:italic;color:#fff;opacity:.92}
.page-template-page-qui-sommes-nous-php .qsn .contactband .sub{color:rgba(255,255,255,.85);font-size:1.14rem;line-height:1.5;margin:16px 0 26px;max-width:46ch}
.page-template-page-qui-sommes-nous-php .qsn .contactband .meta{display:flex;flex-wrap:wrap;gap:10px 26px}
.page-template-page-qui-sommes-nous-php .qsn .contactband .meta a{display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:1rem;font-weight:500}
.page-template-page-qui-sommes-nous-php .qsn .contactband .meta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.page-template-page-qui-sommes-nous-php .qsn .contactband .cta-wrap{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.page-template-page-qui-sommes-nous-php .qsn .contactband .cta{display:inline-flex;align-items:center;justify-content:center;gap:11px;white-space:nowrap;background:#fff;color:var(--blue);font-weight:700;font-size:1.02rem;padding:17px 26px;border-radius:999px;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;box-shadow:0 18px 36px -16px rgba(0,0,0,.4)}
.page-template-page-qui-sommes-nous-php .qsn .contactband .cta:hover{transform:translateY(-3px);box-shadow:0 26px 46px -18px rgba(0,0,0,.45)}
.page-template-page-qui-sommes-nous-php .qsn .contactband .cta.ghost{background:transparent;color:#fff;border:1.6px solid rgba(255,255,255,.5);box-shadow:none}
.page-template-page-qui-sommes-nous-php .qsn .contactband .cta.ghost:hover{background:rgba(255,255,255,.1)}
.page-template-page-qui-sommes-nous-php .qsn .contactband .cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-qui-sommes-nous-php .qsn .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.page-template-page-qui-sommes-nous-php .qsn .reveal.in{opacity:1;transform:none}
.page-template-page-qui-sommes-nous-php .qsn .reveal-img{opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.page-template-page-qui-sommes-nous-php .qsn .reveal-img.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.page-template-page-qui-sommes-nous-php .qsn .reveal, .page-template-page-qui-sommes-nous-php .qsn .reveal-img{opacity:1;transform:none}}
@media(max-width:960px){.page-template-page-qui-sommes-nous-php .qsn .hero-split{grid-template-columns:1fr}
.page-template-page-qui-sommes-nous-php .qsn .hero-photo{min-height:320px}
.page-template-page-qui-sommes-nous-php .qsn .rea-grid{grid-template-columns:1fr 1fr}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .stats{grid-template-columns:1fr 1fr;gap:36px 24px}
.page-template-page-qui-sommes-nous-php .qsn .ip-card{grid-template-columns:1fr;gap:36px}
.page-template-page-qui-sommes-nous-php .qsn .contactband .row{grid-template-columns:1fr;gap:40px}}
@media(max-width:560px){.page-template-page-qui-sommes-nous-php .qsn .reassur .grid{grid-template-columns:1fr;gap:26px}
.page-template-page-qui-sommes-nous-php .qsn .reassur .lab{writing-mode:horizontal-tb;transform:none}
.page-template-page-qui-sommes-nous-php .qsn .reassur .lab::after{display:none}
.page-template-page-qui-sommes-nous-php .qsn .rea-grid{grid-template-columns:1fr}
.page-template-page-qui-sommes-nous-php .qsn .worldblock .stats{grid-template-columns:1fr}}

/* ===================== page-actualites.php (.page-template-page-actualites-php) ===================== */
.page-template-page-actualites-php .actus{
    --font-display:"Gambetta",serif;
    --font-script:"Kaushan Script",cursive;
    --font-body:"Outfit",sans-serif;
    --blue:#007d98;
    --blue-deep:#04323d;
    --blue-soft:rgba(0,125,152,.30);
    --coral:#de6a4d;
    --ink:oklch(0.24 0.02 250);
    --paper:oklch(0.98 0.005 230);
    --card:#fff;
    --hairline:oklch(0.88 0.016 238);
    --muted:oklch(0.52 0.015 250);
    --spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(9 13) rotate(18) scale(.5)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3Cpath transform='translate(18.5 6) rotate(-12) scale(.26)' d='M0 -12c.9 8 3.1 11 12 12-8.9 1-11.1 4-12 12-.9-8-3.1-11-12-12 8.9-1 11.1-4 12-12Z'/%3E%3C/svg%3E");
    font-family:var(--font-body);color:var(--ink);
  }
.page-template-page-actualites-php .actus *{box-sizing:border-box}
.page-template-page-actualites-php .actus .container{max-width:1240px;margin:0 auto;padding:0 40px}
.page-template-page-actualites-php .actus a{color:inherit;text-decoration:none}
.page-template-page-actualites-php .actus .au-hero{position:relative;overflow:hidden;padding:70px 0 64px;background:var(--paper)}
.page-template-page-actualites-php .actus .au-motif{position:absolute;left:0;bottom:0;width:min(620px,72%);height:100%;aspect-ratio:1200/300;z-index:0;opacity:.55;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .page-template-page-actualites-php .actus .au-motif .m-star{transform-box:fill-box;transform-origin:center;animation:auTwinkle 4.6s ease-in-out infinite}
  .page-template-page-actualites-php .actus .au-motif .m-arch1{stroke-dasharray:1;animation:auFlow 7.5s ease-in-out infinite}
  .page-template-page-actualites-php .actus .au-motif .m-wave{animation:auDrift 6.2s ease-in-out infinite}
  .page-template-page-actualites-php .actus .au-motif .m-arch2{animation:auBreathe 5.4s ease-in-out infinite}
  .page-template-page-actualites-php .actus .au-motif .m-circle{animation:auBreathe 8.3s ease-in-out .6s infinite}
  .page-template-page-actualites-php .actus .au-motif .m-quarter{animation:auDrift 10s ease-in-out 1s infinite}
}
@keyframes auTwinkle{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}
@keyframes auFlow{0%{stroke-dashoffset:1}30%{stroke-dashoffset:0}88%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes auDrift{0%,100%{transform:translateX(-7px)}50%{transform:translateX(7px)}}
@keyframes auBreathe{0%,100%{opacity:.32}50%{opacity:.85}}
.page-template-page-actualites-php .actus .au-top-grid{position:relative;z-index:2;display:grid;grid-template-columns:7fr 5fr;gap:50px;align-items:center}
.page-template-page-actualites-php .actus .au-hero.no-feature .au-top-grid{grid-template-columns:1fr}
.page-template-page-actualites-php .actus .au-head{min-width:0}
.page-template-page-actualites-php .actus .eyebrow{font-family:var(--font-script);color:var(--coral);font-size:2rem;line-height:1;margin:0 0 10px;display:flex;align-items:center;gap:.32em}
.page-template-page-actualites-php .actus .eyebrow .spark{width:1.4em;height:1.4em;margin-top:-.12em;background:var(--coral);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;display:inline-block}
.page-template-page-actualites-php .actus .au-hero h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1.02;margin:0;font-size:clamp(2.4rem,4vw,3.5rem);max-width:14ch}
.page-template-page-actualites-php .actus .au-hero h1 em{font-style:italic;color:var(--blue)}
.page-template-page-actualites-php .actus .au-hero .lede{font-size:1.18rem;line-height:1.55;color:var(--muted);margin:22px 0 0;max-width:54ch;text-wrap:pretty}
.page-template-page-actualites-php .actus .au-hero .lede p{margin:0 0 .6em}
.page-template-page-actualites-php .actus .au-hero .lede p:last-child{margin-bottom:0}
.page-template-page-actualites-php .actus .au-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.page-template-page-actualites-php .actus .chip{font-size:.95rem;font-weight:600;color:var(--muted);background:transparent;border:1.5px solid var(--blue-soft);
    padding:8px 17px;border-radius:999px;cursor:pointer;transition:color .2s,border-color .2s,background .2s;display:inline-flex;align-items:center;gap:9px}
.page-template-page-actualites-php .actus .chip:hover{color:var(--ink);border-color:var(--blue)}
.page-template-page-actualites-php .actus .chip.active{color:#fff;background:var(--blue);border-color:var(--blue)}
.page-template-page-actualites-php .actus .chip-flag{width:21px;height:15px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.1);flex:none}
.page-template-page-actualites-php .actus .chip-dot{width:9px;height:9px;border-radius:50%;background:var(--coral);flex:none}
.page-template-page-actualites-php .actus .chip.active .chip-dot{background:#fff}
.page-template-page-actualites-php .actus .au-feature{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/11;
    box-shadow:0 30px 64px -42px rgba(8,40,50,.5)}
.page-template-page-actualites-php .actus .au-feature .ft-link{position:absolute;inset:0;display:flex;align-items:flex-end}
.page-template-page-actualites-php .actus .au-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.page-template-page-actualites-php .actus .au-feature:hover img{transform:scale(1.05)}
.page-template-page-actualites-php .actus .au-feature .veil{position:absolute;inset:0;background:linear-gradient(to top,#477082 0%,rgb(41 100 115 / 91%) 30%,rgba(4,50,61,.18) 62%,transparent 80%)}
.page-template-page-actualites-php .actus .au-feature .ft-inner{position:relative;z-index:2;width:100%;padding:18px 22px 22px;color:#fff}
.page-template-page-actualites-php .actus .au-feature .ft-tagrow{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.page-template-page-actualites-php .actus .tag{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--coral);padding:6px 12px;border-radius:999px}
.page-template-page-actualites-php .actus .date{font-size:.86rem;color:var(--muted);font-weight:500}
.page-template-page-actualites-php .actus .au-feature .ft-tagrow .date{color:rgba(255,255,255,.85)}
.page-template-page-actualites-php .actus .au-feature h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.26;letter-spacing:-.005em;margin:0 0 10px;text-wrap:pretty}
.page-template-page-actualites-php .actus .au-feature .readmore{color:#fff;font-weight:500}
.page-template-page-actualites-php .actus .readmore{display:inline-flex;align-items:center;gap:9px;font-weight:700;color:var(--blue);font-size:1rem;align-self:flex-start}
.page-template-page-actualites-php .actus .readmore svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.page-template-page-actualites-php .actus .readmore:hover svg{transform:translateX(4px)}
.page-template-page-actualites-php .actus .au-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:46px}
.page-template-page-actualites-php .actus .post{background:var(--card);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;
    box-shadow:0 18px 40px -30px rgba(8,40,50,.45);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.page-template-page-actualites-php .actus .post:hover{transform:translateY(-6px);box-shadow:0 34px 60px -34px rgba(8,40,50,.5)}
.page-template-page-actualites-php .actus .post .pm{position:relative;aspect-ratio:16/11;overflow:hidden;display:block}
.page-template-page-actualites-php .actus .post .pm img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.page-template-page-actualites-php .actus .post:hover .pm img{transform:scale(1.07)}
.page-template-page-actualites-php .actus .post .pm .tag{position:absolute;left:16px;top:16px}
.page-template-page-actualites-php .actus .post .pb{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.page-template-page-actualites-php .actus .post .date{margin-bottom:9px}
.page-template-page-actualites-php .actus .post h3{font-family:var(--font-display);font-weight:700;font-size:1.32rem;line-height:1.2;letter-spacing:-.01em;margin:0 0 11px;text-wrap:balance}
.page-template-page-actualites-php .actus .post h3 a:hover{color:var(--blue)}
.page-template-page-actualites-php .actus .post .ex{font-size:.97rem;line-height:1.55;color:var(--muted);margin:0 0 20px;flex:1}
.page-template-page-actualites-php .actus .post .readmore{font-size:.95rem}
.page-template-page-actualites-php .actus .au-pagination{margin-top:60px}
.page-template-page-actualites-php .actus .au-pagination .page-numbers{list-style:none;margin:0;padding:0;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.page-template-page-actualites-php .actus .au-pagination .page-numbers li{display:inline-flex}
.page-template-page-actualites-php .actus .au-pagination a.page-numbers, .page-template-page-actualites-php .actus .au-pagination span.page-numbers{min-width:46px;height:46px;padding:0 14px;border-radius:13px;border:1.5px solid var(--blue-soft);background:var(--card);
    display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;color:var(--ink);transition:all .2s}
.page-template-page-actualites-php .actus .au-pagination a.page-numbers:hover{border-color:var(--blue);color:var(--blue)}
.page-template-page-actualites-php .actus .au-pagination .page-numbers.current{background:var(--blue);border-color:var(--blue);color:#fff}
.page-template-page-actualites-php .actus .au-pagination .page-numbers.dots{border:none;background:transparent;color:var(--muted);min-width:auto}
.page-template-page-actualites-php .actus .au-pagination .page-numbers svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.page-template-page-actualites-php .actus .au-empty{text-align:center;padding:80px 0;color:var(--muted);font-size:1.15rem}
.page-template-page-actualites-php .actus .au-list{padding-bottom:120px}
@media(max-width:900px){.page-template-page-actualites-php .actus .au-top-grid{grid-template-columns:1fr;gap:36px}
.page-template-page-actualites-php .actus .au-feature{max-width:560px}
.page-template-page-actualites-php .actus .au-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
@media(max-width:600px){.page-template-page-actualites-php .actus .container{padding:0 22px}
.page-template-page-actualites-php .actus .au-grid{grid-template-columns:1fr}
.page-template-page-actualites-php .actus .au-hero{padding:60px 0 40px}}
@media(prefers-reduced-motion:reduce){.page-template-page-actualites-php .actus .au-feature .ft-media img, .page-template-page-actualites-php .actus .post, .page-template-page-actualites-php .actus .post .pm img, .page-template-page-actualites-php .actus .readmore svg{transition:none}}

/* ===================== single.php (.single) ===================== */
.single .sgl{
    --font-display:"Gambetta",serif;
    --font-body:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-ui:"Outfit",sans-serif;
    --blue:#007d98;
    --blue-deep:#04323d;
    --blue-soft:rgba(0,125,152,.30);
    --coral:#de6a4d;
    --ink:oklch(0.24 0.02 250);
    --hairline:oklch(0.90 0.012 238);
    --muted:oklch(0.52 0.015 250);
    font-family:var(--font-body);color:var(--ink);background:#fff;
  }
.single .sgl *{box-sizing:border-box}
.single .sgl a{color:inherit;text-decoration:none}
.single .sgl img{display:block;max-width:100%}
.single .sgl .tag{display:inline-block;font-family:var(--font-ui);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--coral);padding:6px 12px;border-radius:999px}
.single .sgl .cover{position:relative;height:330px;display:flex;align-items:flex-start;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%,0 94%)}
.single .sgl .cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.single .sgl .cover .veil{position:absolute;inset:0;background:linear-gradient(to top,#074352 0%,rgb(63 131 147 / 65%) 42%,rgb(4 50 61 / 27%) 75%,rgb(8 107 131 / 27%) 100%)}
.single .sgl .cover .inner{position:relative;z-index:2;max-width:720px;margin:0 auto;padding:80px 40px 56px;width:100%;color:#fff}
.single .sgl .cover .meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.single .sgl .cover .meta .date{font-family:var(--font-ui);font-size:.9rem;color:rgba(255,255,255,.9);font-weight:500}
.single .sgl .cover h1{font-family:var(--font-display);font-weight:800;color:#fff;font-size:clamp(1.8rem,3vw,2rem);line-height:1.1;letter-spacing:-.01em;margin:18px 0 0;max-width:35ch;text-shadow:0 3px 30px rgba(0,0,0,.4)}
.single .sgl .cover .byline{display:none}
.single .sgl .shell{position:relative;max-width:1180px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;gap:0}
.single .sgl .rail{grid-column:1;position:sticky;top:120px;height:max-content;padding-top:120px}
.single .sgl .rail .lbl{font-family:var(--font-ui);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:oklch(0.59 0.09 218.02);display:block;margin-bottom:14px}
.single .sgl .share{display:flex;flex-direction:column;gap:10px}
.single .sgl .share.share-row{flex-direction:row;flex-wrap:wrap;gap:12px}
.single .sgl .sh-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--hairline);background:#fff;color:#2d7e91;
    display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .2s,color .2s,border-color .2s,transform .2s}
.single .sgl .sh-btn svg{width:18px;height:18px;fill:currentColor}
.single .sgl .sh-btn:hover{background:#00637a;color:#fff;transform:translateY(-2px)}
.single .sgl .sh-copy.copied{background:var(--coral);border-color:var(--coral);color:#fff}
.single .sgl .article{grid-column:2;max-width:720px;margin:0 auto;padding:50px 0 120px;width:100%}
.single .sgl .prose{font-size:1.14rem;line-height:1.8;color:#2c3b40}
.single .sgl .prose>*{margin:0 0 0.2em}
.single .sgl .prose>*:last-child{margin-bottom:0}
.single .sgl .prose p{text-wrap:pretty}
.single .sgl .prose h1{font-family:var(--font-display);font-weight:800;font-size:1.95rem;line-height:1.15;letter-spacing:-.01em;margin:1em 0 .55em;color:#3c5065}
.single .sgl .prose h2{font-family:var(--font-display);font-weight:800;font-size:1.7rem;line-height:1.2;letter-spacing:-.01em;margin:1.9em 0 .55em;color:#3c5065}
.single .sgl .prose h3{font-family:var(--font-display);font-weight:700;font-size:1.34rem;line-height:1.25;margin:1.7em 0 .5em;color:var(--ink)}
.single .sgl .prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.single .sgl .prose img, .single .sgl .prose .wp-block-image img{border-radius:18px;width:100%;height:auto}
.single .sgl .prose figcaption{font-family:var(--font-ui);font-size:.86rem;color:var(--muted);margin-top:10px;text-align:center}
.single .sgl .prose ul, .single .sgl .prose ol{padding-left:0;list-style:none;display:grid;gap:0px}
.single .sgl .prose ul li{position:relative;padding-left:30px}
.single .sgl .prose ul li::before{content:"";position:absolute;left:4px;top:.7em;width:9px;height:9px;border-radius:50%;background:var(--coral)}
.single .sgl .prose ol{counter-reset:li}
.single .sgl .prose ol li{position:relative;padding-left:38px;counter-increment:li}
.single .sgl .prose ol li::before{content:counter(li);position:absolute;left:0;top:.05em;width:26px;height:26px;border-radius:50%;background:color-mix(in oklab,var(--blue) 14%,white);color:var(--blue);font-family:var(--font-ui);font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.single .sgl .prose blockquote{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:1.5rem;line-height:1.35;color:var(--blue);border-left:4px solid var(--coral);padding:6px 0 6px 26px;margin:1.6em 0}
.single .sgl .prose blockquote p{margin:0}
.single .sgl .share-bottom{margin:48px 0 0;padding:26px 0 0;border-top:1px solid var(--hairline)}
.single .sgl .share-bottom .lbl{font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.single .sgl .postnav{border-top:1px solid var(--hairline);margin-top:80px}
.single .sgl .postnav .pn-inner{max-width:1180px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:0}
.single .sgl .postnav a{display:flex;align-items:center;gap:18px;padding:34px 0}
.single .sgl .postnav a.pn-next{justify-content:flex-end;text-align:right;border-left:1px solid var(--hairline);padding-left:34px}
.single .sgl .postnav a.pn-prev{padding-right:34px}
.single .sgl .postnav .dir{font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;display:block}
.single .sgl .postnav .pt{font-family:var(--font-display);font-weight:700;font-size:1.16rem;line-height:1.25;color:var(--ink);text-wrap:balance;transition:color .2s}
.single .sgl .postnav a:hover .pt{color:var(--blue)}
.single .sgl .postnav .arw{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--blue-soft);flex:none;display:flex;align-items:center;justify-content:center;color:var(--blue);transition:all .2s}
.single .sgl .postnav a:hover .arw{background:var(--blue);border-color:var(--blue);color:#fff}
.single .sgl .postnav .arw svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.single .sgl .postnav .thumb{width:74px;height:74px;border-radius:14px;object-fit:cover;flex:none}
.single .sgl .postnav .empty{display:block}
.single .sgl .wrap-end{padding-bottom:120px}
@media(max-width:820px){.single .sgl .shell{grid-template-columns:1fr}
.single .sgl .rail{display:none}
.single .sgl .article{grid-column:1;padding-top:40px}}
@media(max-width:680px){.single .sgl .cover .inner{padding:0 24px 44px}
.single .sgl .shell{padding:0 24px}
.single .sgl .postnav .pn-inner{grid-template-columns:1fr;padding:0 24px}
.single .sgl .postnav a.pn-next{border-left:none;border-top:1px solid var(--hairline);padding-left:0;text-align:left;justify-content:flex-start}
.single .sgl .postnav a.pn-prev{padding-right:0}}
@media(prefers-reduced-motion:reduce){.single .sgl .postnav a .arw{transition:none}}
