:root {
    --black: #0e0e0e;
    /* Noir profond */
    --charcoal: #1a1a1a;
    /* Gris très foncé, légèrement moins dur */
    --gold: #e8c451;
    /* Or classique */
    --rich-gold: #bfa133;
    /* Or plus intense, plus mat */
    --light-gold: #f5e8b7;
    /* Or pâle pour des contrastes doux */
    --bronze: #a97142;
    /* Teinte métallique complémentaire */
    --ivory: #f8f4e3;
    /* Fond clair pour zones secondaires */
    --shadow-gray: #2c2c2c5b;
    /* Fond sombre alternatif */
    --highlight: #fff8dc;
    /* Ton lumineux, rappelant la dorure usée */

    --large-font: 1.8rem;
    --small-font: 1.2rem;
}

body {
    font-family: Helvetica, sans-serif;
    color: var(--gold);
    background: linear-gradient(45deg, transparent 34%, var(--shadow-gray) 35%, var(--shadow-gray) 40%, transparent 41%, transparent 59%, var(--shadow-gray) 60%, var(--shadow-gray) 65%, transparent 66%), linear-gradient(135deg, transparent 34%, var(--shadow-gray) 35%, var(--shadow-gray)40%, transparent 41%, transparent 59%, var(--shadow-gray) 60%, var(--shadow-gray) 65%, transparent 66%);
    background-size: 3em 3em;
    background-color: var(--charcoal);
}

/* Header */
header {
    width: 100%;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
    background-position: top center;
    background-image:
        linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.3) 85%, rgba(0, 0, 0, 0) 95%),
        url('../images/abstract_gold.png');
    overflow: hidden;
    text-align: center;
    margin: auto;
    display: flex;
    flex-direction: column;
    height: 80vh;
}

.header-logo {
    display: flex;
    justify-content: center;
}

.header-logo img {
    height: auto;
    object-fit: contain;
}

.header-text p {
    color: var(--gold);
    text-shadow: var(--bronze) 1px 0 5px;
    text-transform: uppercase
}

.header-btn {
    margin-top: 8vh;
}

.vertical-line {
    height: 2px;
    background-color: var(--gold);
    width: 150px;
    margin: 0 auto;
    margin-top: 15px;
    margin-bottom: 45px;
}

/* END Header */

/* Feature */
.text-container-centered {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: justify;
}

.text-title {
    color: var(--gold);
    text-shadow: var(--bronze) 2px 0 5px;
    text-transform: uppercase;
    font-family: "Playfair Display", serif;
}

.text {
    color: var(--highlight);
    font-size: var(--large-font);
}

.border-gold {
    background:
        radial-gradient(circle, rgba(232, 196, 81, 1) 0%, rgba(191, 161, 51, 1) 23%, rgba(245, 232, 183, 1) 51%, rgba(248, 244, 227, 1) 64%, rgba(232, 196, 81, 1) 82%, rgba(169, 113, 66, 1) 100%), border-box;
    border: 3px solid transparent;
}

.img-container>img {
    flex: 1;
    height: 100%;
    object-fit: cover;
    display: block;
}

@keyframes scaleIn {
    0% {
        opacity: 0;
        transform: scale(0%);
    }

    50% {
        transform: scale(110%);
    }

    100% {
        opacity: 1;
        transform: scale(100%);
    }
}

.left-padding {
    padding: 0 15% 0 5%;
}

.right-padding {
    padding: 0 5% 0 15%;
}

.scale-in {
    opacity: 0;
    /* fill at run time with animation */
}

/* END Feature*/

/* Process */

.hiw {
    background-color: var(--charcoal);
    background:
        linear-gradient(var(--charcoal), var(--charcoal)) padding-box,
        radial-gradient(circle, rgba(232, 196, 81, 1) 0%, rgba(191, 161, 51, 1) 23%, rgba(245, 232, 183, 1) 51%, rgba(248, 244, 227, 1) 64%, rgba(232, 196, 81, 1) 82%, rgba(169, 113, 66, 1) 100%), border-box;
    border: 3px solid transparent;
}

.fa-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.work-container {
    flex: 7;
}

.work-title {
    color: var(--gold);
    text-shadow: var(--bronze) 2px 0 5px;
    text-transform: uppercase;
    font-family: "Playfair Display", serif;
    margin-bottom: 20px;
}

.work-text {
    font-size: 1.2rem;
    color: var(--highlight);
}

/* END Process*/

/* Contact */

.contact-section {
    text-align: center;
}

.contact-wrapper {
    background:
        linear-gradient(var(--charcoal), var(--charcoal)) padding-box,
        radial-gradient(circle, rgba(232, 196, 81, 1) 0%, rgba(191, 161, 51, 1) 23%, rgba(245, 232, 183, 1) 51%, rgba(248, 244, 227, 1) 64%, rgba(232, 196, 81, 1) 82%, rgba(169, 113, 66, 1) 100%), border-box;
    border: 3px solid transparent;
}

.contact-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 80px;
    flex-wrap: wrap;
    height: 15vh;
}

.contact-item {
    font-size: 1.5em;
    display: flex;
    align-items: center;
    gap: 12px;
}

.contact-item i {
    font-size: 1.5em;
}

.contact-item a {
    color: var(--highlight);
    text-decoration: none;
    font-weight: bold;
}

.contact-item a:hover {
    color: var(--light-gold);
    text-decoration: underline;
}

#phone-number button {
    min-width: 200px;
    font-size: 20px;
}

/* END Contact */

/* Footer */
footer {
    text-align: center;
    padding: 30px 0;
    background: var(--charcoal);
}

footer ul {
    padding: 0px;
    list-style: none;
    margin: 0 0 20px 0;
}

footer ul li {
    display: inline-block;
    margin-left: 15px;
}

footer ul li a span {
    width: 50px;
    height: 50px;
    background: #42484C;
    display: block;
    font-size: 30px;
    line-height: 50px;
    color: var(--gold);
    border-radius: 50%;
}

footer .copyright {
    font-size: 22px;
    margin-bottom: 20px;
    display: block;
}

/* END Footer */

/* Button */
.button-gold {
    appearance: none;
    background:
        linear-gradient(var(--charcoal), var(--charcoal)) padding-box,
        radial-gradient(circle, rgba(232, 196, 81, 1) 0%, rgba(191, 161, 51, 1) 23%, rgba(245, 232, 183, 1) 51%, rgba(248, 244, 227, 1) 64%, rgba(232, 196, 81, 1) 82%, rgba(169, 113, 66, 1) 100%), border-box;
    border: 3px solid transparent;
    border-radius: 15px;
    box-sizing: border-box;
    color: var(--highlight);
    cursor: pointer;
    font-size: 24px; /* 16 */
    font-weight: 600;
    line-height: normal;
    margin: 0;
    min-height: 80px; /* 60 */
    min-width: 0;
    outline: none;
    padding: 8px 16px; /* 16 */
    text-align: center;
    text-decoration: none;
    transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    will-change: transform;
}

.button-gold:disabled {
    pointer-events: none;
}

.button-gold:hover {
    color: #fff;
    background-color: #1A1A1A;
    box-shadow: rgba(0, 0, 0, 0.75) 0 8px 15px;
    transform: translateY(-2px);
}

.button-gold:active {
    box-shadow: none;
    transform: translateY(0);
}

/* Separator */
.section-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 0;
    position: relative;
}

.section-separator .line {
    flex: 1;
    height: 2px;
    background: linear-gradient(to right, transparent, var(--gold), transparent);
    margin: 0 20px;
}

.separator-img {
    width: 100px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 0 5px var(--gold));
}

/* BOOTSTRAP */

.no-margin {
    margin: 0 !important;
}

.no-padding {
    padding: 0 !important;
}

.display-8 {
    font-size: 1.5rem;
}

.h-max-18 {
    max-height: 18vh;
}

/* sm */
@media (min-width: 576px) {
    .vh-sm-50 {
        height: 50vh !important;
    }

    .clip-path-sm {
        clip-path: ellipse(50% 150% at 50% 50%) !important;
    }

    .ts-sm-2 {
        font-size: x-large !important;
    }
}

/* md */
@media (min-width: 768px) {
    .vh-md-50 {
        height: 50vh !important;
    }

    .w-md-25 {
        width: 25% !important;
    }

    .max-vw-md-80 {
        max-width: 80vw !important;
    }
}

/* lg */
@media (min-width: 992px) {
    .h-lg-100 {
        height: 100% !important;
    }

    .clip-path-right-lg {
        clip-path: circle(100% at 90% 50%) !important;
    }

    .clip-path-left-lg {
        clip-path: circle(100% at 10% 50%) !important;
    }

    .w-lg-25 {
        width: 25% !important;
    }

    .text {
        font-size: var(--small-font) !important;
    }

    .max-vw-lg-50 {
        max-width: 50vw !important;
    }

    .h-max-lg-50 {
        max-height: 50vh;
    }

    .button-gold {
        font-size: 16px; /* 24 */
        min-height: 60px; /* 80 */
        min-width: 200px;
    }
}

.clip-path {
    clip-path: ellipse(50% 80% at 50% 50%);
}