*{
    margin: 0;
    padding: 0;
}

html, body{
    width: auto!important;
    background-color: #151515;
    overflow-x: hidden;
}

.hero {
    position: relative;
}

.hero__image {
    position: relative;
    height: 96vh;
}

.hero__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
}

.menu__blocks {
    position: absolute;
    inset: 0;
}

/* ==========================================================================
   Services section
   50/50 split: intro copy on the left, a 4-row list on the right.
   Text sizing intentionally matches .notch__heading / .notch__text
   so headings and body copy stay consistent across sections.
   ========================================================================== */

.services__section {
    display: flex;
    align-items: stretch;
    border-top: 1px solid #858585;
    border-bottom: 1px solid #858585;
    height: 400px;
    background-color: #EAEAEA;
}

.services__intro {
    flex: 50%;
    box-sizing: border-box;
    border-right: 1px solid #858585;
    padding: 48px 64px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.services__heading {
    max-width: 20ch;
    margin: 0;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 35px;
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
    color: #151515;
}

.services__text {
    max-width: 60ch;
    margin-top: clamp(24px, 8%, 64px);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #151515;
}

.services__list {
    flex: 50%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    list-style: none;

    display: flex;
    flex-direction: column;
}

.services__item {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 0 40px;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 22px;
    font-weight: 500;
    text-transform: uppercase;
    color: #151515;

    border-bottom: 1px solid #858585;
}

.services__item:last-child {
    border-bottom: none;
}

/* ==========================================================================
   Locations section
   50/50 split, dark theme: intro copy on the left, a location list on
   the right. Same heading/body type sizing as .notch__heading/.notch__text
   and .services__heading/.services__text — just white-on-black here.
   ========================================================================== */

.locations__section {
    display: flex;
    align-items: stretch;
    background: #151515;
    height: 500px;
}

.locations__intro {
    flex: 50%;
    box-sizing: border-box;
    padding: 48px 64px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.locations__heading {
    max-width: 25ch;
    margin: 0;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 35px;
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
    color: #ffffff;
}

.locations__text {
    max-width: 60ch;
    margin-top: clamp(24px, 8%, 64px);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #ffffff;
}

.locations__list {
    flex: 50%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    list-style: none;
    border-left: 1px solid #3a3a3a;

    display: flex;
    flex-direction: column;
}

.locations__item {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 0 40px;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 22px;
    font-weight: 500;
    text-transform: uppercase;
    color: #ffffff;
    border-bottom: 1px solid #3a3a3a;
}

.locations__item:last-child {
    border-bottom: none;
}
