:root {
    --petrol: #0F2D37;
    --petrol-deep: #0A222A;
    --sage: #A5B09A;
    --sage-dark: #87957E;
    --sage-pale: #E8ECE4;
    --sand: #DCC8A5;
    --sand-pale: #F0E7D6;
    --anthracite: #1B1E21;
    --offwhite: #F6F4F1;
    --white: #FFFFFF;
    --ink: #263238;
    --muted: #687278;
    --line: rgba(15,45,55,.14);
    --shadow-soft: 0 14px 40px rgba(15,45,55,.08);
    --shadow-card: 0 18px 55px rgba(15,45,55,.10);
    --display: "Space Grotesk", Arial, sans-serif;
    --body: "Manrope", Arial, sans-serif;
    --container: min(1180px, calc(100% - 48px));
    --section-space: clamp(88px, 9vw, 136px);
    --radius-sm: 10px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --transition: 260ms cubic-bezier(.22,.61,.36,1);
}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--offwhite);font-family:var(--body);line-height:1.68;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}::selection{color:var(--white);background:var(--petrol)}.container{width:var(--container);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:999;padding:10px 14px;color:var(--white);background:var(--petrol);text-decoration:none;border-radius:var(--radius-sm);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow,.hero-eyebrow{margin:0 0 18px;color:var(--sage-dark);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{font-family:var(--display)}h2{margin:0;color:var(--petrol);font-size:clamp(38px,4.7vw,68px);font-weight:500;letter-spacing:-.035em;line-height:1.07}h3{font-weight:500}p{margin-top:0}blockquote{margin:34px 0 0;padding:20px 0 20px 24px;border-left:2px solid var(--sage);color:var(--petrol);font-family:var(--display);font-size:clamp(19px,2vw,27px);font-weight:400;line-height:1.42}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 24px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color var(--transition),background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-gold{color:var(--white);background:var(--petrol);box-shadow:0 10px 25px rgba(15,45,55,.15)}.button-gold:hover,.button-gold:focus-visible{background:var(--sage-dark)}.button-outline{color:var(--white);border-color:rgba(255,255,255,.6);background:transparent}.button-outline:hover,.button-outline:focus-visible{color:var(--petrol);border-color:var(--offwhite);background:var(--offwhite)}.section-signature{margin:44px 0 0;padding-top:18px;border-top:1px solid var(--sage);color:var(--petrol);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.centered{text-align:center}

.hoteliance-social-cta {
    --petrole: #0f2d37;
    --petrole-dark: #091f27;
    --sauge: #a5b09a;
    --sable: #dcc8a5;
    --anthracite: #1b1e21;
    --blanc-casse: #f6f4f1;

    position: relative;
    overflow: hidden;
    padding: 80px 30px;
    color: var(--blanc-casse);
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(165, 176, 154, 0.18),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            var(--petrole-dark),
            var(--petrole)
        );
}

.hoteliance-social-cta::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -100px;
    width: 420px;
    height: 220px;
    border-top: 2px solid rgba(220, 200, 165, 0.35);
    border-radius: 50%;
    transform: rotate(-12deg);
    pointer-events: none;
}

.hoteliance-social-cta__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
    gap: 70px;
    width: min(1180px, 100%);
    margin: 0 auto;
    align-items: center;
}

.hoteliance-social-cta__contact {
    padding-right: 30px;
}

.hoteliance-social-cta__networks {
    padding: 38px;
    border: 1px solid rgba(246, 244, 241, 0.14);
    border-radius: 8px;
    background: rgba(246, 244, 241, 0.055);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.hoteliance-social-cta__eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--sable);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.hoteliance-social-cta h2,
.hoteliance-social-cta h3 {
    margin: 0;
    color: var(--blanc-casse);
    font-weight: 500;
    line-height: 1.18;
}

.hoteliance-social-cta h2 {
    max-width: 720px;
    font-size: clamp(32px, 4vw, 52px);
}

.hoteliance-social-cta h3 {
    font-size: clamp(25px, 3vw, 34px);
}

.hoteliance-social-cta p {
    max-width: 690px;
    margin: 22px 0 0;
    color: rgba(246, 244, 241, 0.78);
    font-size: 16px;
    line-height: 1.75;
}

.hoteliance-social-cta__button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 32px;
    padding: 14px 24px;
    border: 1px solid var(--sauge);
    border-radius: 3px;
    color: var(--petrole-dark);
    background: var(--sauge);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.hoteliance-social-cta__button:hover,
.hoteliance-social-cta__button:focus-visible {
    color: var(--blanc-casse);
    background: transparent;
    transform: translateY(-2px);
}

.hoteliance-social-cta__links {
    display: grid;
    gap: 14px;
    margin-top: 28px;
}

.hoteliance-social-cta__links a {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 15px 17px;
    border: 1px solid rgba(246, 244, 241, 0.15);
    border-radius: 5px;
    color: var(--blanc-casse);
    background: rgba(9, 31, 39, 0.35);
    text-decoration: none;
    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        transform 0.25s ease;
}

.hoteliance-social-cta__links a:hover,
.hoteliance-social-cta__links a:focus-visible {
    border-color: var(--sauge);
    background: rgba(165, 176, 154, 0.12);
    transform: translateX(4px);
}

.hoteliance-social-cta__icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    color: var(--petrole-dark);
    background: var(--sauge);
}

.hoteliance-social-cta__icon svg {
    width: 21px;
    height: 21px;
    fill: currentColor;
}

.hoteliance-social-cta__links strong,
.hoteliance-social-cta__links small {
    display: block;
}

.hoteliance-social-cta__links strong {
    margin-bottom: 3px;
    font-size: 15px;
    letter-spacing: 0.04em;
}

.hoteliance-social-cta__links small {
    color: rgba(246, 244, 241, 0.62);
    font-size: 12px;
}

/* Tablette */
@media (max-width: 900px) {
    .hoteliance-social-cta {
        padding: 65px 24px;
    }

    .hoteliance-social-cta__inner {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .hoteliance-social-cta__contact {
        padding-right: 0;
    }
}

/* Mobile */
@media (max-width: 560px) {
    .hoteliance-social-cta {
        padding: 52px 18px;
    }

    .hoteliance-social-cta__networks {
        padding: 27px 20px;
    }

    .hoteliance-social-cta h2 {
        font-size: 31px;
    }

    .hoteliance-social-cta__button {
        width: 100%;
        justify-content: center;
    }
}