/* Neue Haas Grotesk Display */
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-LightItalic.woff2") format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-Roman.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-RomanItalic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-Mediu.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-MediumItalic.woff2") format("woff2");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-BoldItalic.woff2") format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-Black.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Neue Haas Grotesk";
    src: url("../fonts/NeueHaasDisplay-BlackItalic.woff2") format("woff2");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* Pacaembu */
@font-face {
    font-family: "Pacaembu";
    src: url("../fonts/Pacaembu-Thin.woff2") format("woff2");
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Pacaembu";
    src: url("../fonts/Pacaembu-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Pacaembu";
    src: url("../fonts/Pacaembu-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Pacaembu";
    src: url("../fonts/Pacaembu-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Pacaembu";
    src: url("../fonts/Pacaembu-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Pacaembu";
    src: url("../fonts/Pacaembu-Black.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Pacaembu";
    src: url("../fonts/Pacaembu-Ultra.woff2") format("woff2");
    font-weight: 950;
    font-style: normal;
    font-display: swap;
}

:root {
    --cream: #EEDDCB;
    --black: #000;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #000;
    color: var(--cream);
    font-family: "Pacaembu", Arial, sans-serif;
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    padding: 24px 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--cream);
    transition: background 0.4s ease;
}

/* Logo in sticky header — hidden on front page until scrolled past hero */
.site-header__logo {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
    flex-shrink: 0;
}

.site-header__logo img {
    width: 235px;
    height: auto;
    display: block;
}

.site-header--scrolled {
    background: rgba(0, 0, 0, 0.88);
}

.site-header--scrolled .site-header__logo,
.site-header--logo-visible .site-header__logo {
    opacity: 1;
    pointer-events: auto;
}

/* Enquire CTA in header (desktop only) */
.header-enquire-btn {
    color: var(--cream);
    background: transparent;
    border: 1px solid var(--cream);
    padding: 7px 20px;
    font-family: "Pacaembu", Arial, sans-serif;
    font-size: 18px;
    line-height: 120%;
    text-transform: uppercase;
    letter-spacing: 0.8em;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    text-decoration: none;
}

.site-logo img,
.small-logo,
.footer-logo {
    width: 235px;
    height: auto;
    display: block;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 56px;
}

.site-nav__menu {
    display: flex;
    align-items: center;
    gap: 56px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-nav__menu li {
    list-style: none;
}

.site-nav a,
.site-nav__menu a {
    color: var(--cream);
    text-decoration: none;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.8em;
}

.instagram-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-width: 30px;
    height: 30px;
}

.instagram-link svg {
    width: 30px;
    min-width: 30px;
    height: 30px;
    fill: none;
    stroke: var(--cream);
    stroke-width: 1.5;
}

.page-bg-image {
    position: fixed;
    inset: 0;
    z-index: -1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.snap-page {
    height: 100vh;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

.screen {
    position: relative;
    min-height: 100vh;
    scroll-snap-align: start;
    overflow: hidden;
}

.hero-screen,
.bg-cover {
    background-size: cover;
    background-position: center;
}

.hero-screen::before,
.bg-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(40, 0, 0, .24);
}

.hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 1000px;
    width: 100%;
    /* min-height: 100vh; */
    min-height: calc(100vh - 200px);
    margin: 0 auto;
    padding: 100px 0;
    position: relative;
    z-index: 2;
}

.hero-logo {
    width: 572px;
    max-width: 70vw;
}

.hero-content p {
    margin: 10px 0 72px;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.8em;
    text-align: center;
}

.enquire-btn {
    max-width: max-content;
    color: var(--cream);
    background: transparent;
    border: 2px solid var(--cream);
    padding: 5px 20px;
    font-family: "Pacaembu", Arial, sans-serif;
    font-size: 18px;
    line-height: 120%;
    text-transform: uppercase;
    letter-spacing: 0.8em;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    position: relative;
    overflow: hidden;
}

.enquire-btn span,
.header-enquire-btn span {
    display: block;
    margin-right: -7px;
}

.enquire-btn::before,
.header-enquire-btn::before {
    display: none;
}

.header-enquire-btn {
    display: inline-block;
    position: relative;
    overflow: hidden;
}

.scroll-arrow {
    position: absolute;
    left: 50%;
    bottom: 70px;
    width: 38px;
    height: 38px;
    background: transparent;
    border: none;
    border-right: 2px solid var(--cream);
    border-bottom: 2px solid var(--cream);
    transform: translateX(-50%) rotate(45deg);
    z-index: 3;
    cursor: pointer;
    padding: 0;
}

.center-copy {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    /* min-height: 100vh; */
    min-height: calc(100vh - 200px);
    margin: 0 auto;
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

h2 {
    margin: 0 0 46px;
    font-size: 34px;
    line-height: 140%;
    font-weight: 400;
}

p {
    margin: 16px 0;
    font-size: 18px;
    line-height: 120%;
    font-weight: 300;
}

.split-screen {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #000;
}

.split-copy {
    position: relative;
    padding: 100px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

.split-copy .small-logo {
    position: absolute;
    top: 88px;
    left: 64px;
}

.split-copy h2 {
    margin-bottom: 40px;
}

.split-copy .enquire-btn {
    margin-top: 40px;
}

.split-image {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

.site-footer {
    min-height: 34vh;
    padding: 66px 100px;
    box-sizing: border-box;
    background: #000;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    scroll-snap-align: start;
}

.site-footer p,
.site-footer a {
    color: var(--cream);
    font-size: 18px;
    line-height: 140%;
    font-weight: 300;
}

.footer-logo {
    margin-bottom: 63px;
}

.footer-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 24px;
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: 18px;
    text-align: right;
}

.site-footer a {
    text-decoration: none;
}

.footer-links a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.footer-instagram {
    display: inline-flex;
    margin-top: 20px;
}

/* Hamburger */

.hamburger-btn {
    display: none;
    flex-direction: column;
    gap: 7px;
    margin-top: 0;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--cream);
}

.hamburger-btn span {
    display: block;
    width: 34px;
    height: 2px;
    background: var(--cream);
}

/* Mobile nav overlay */

.mobile-nav {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: #000;
    color: var(--cream);
    padding: 80px;
    box-sizing: border-box;
    display: none;
    flex-direction: column;
}

.mobile-nav.is-open {
    display: flex;
}

.mobile-nav__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 100px;
}

.mobile-nav__close {
    background: transparent;
    border: none;
    color: var(--cream);
    font-size: 42px;
    line-height: 140%;
    cursor: pointer;
    padding: 0;
}

.mobile-nav__links {
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.mobile-nav__menu {
    display: flex;
    flex-direction: column;
    gap: 70px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav__menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav__link {
    color: var(--cream);
    text-decoration: none;
    font-family: "Pacaembu", Arial, sans-serif;
    font-size: 16px;
    line-height: 140%;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    background: transparent;
    border: none;
    padding: 0;
    text-align: left;
    cursor: pointer;
    display: block;
}

.mobile-nav__instagram {
    margin-top: 70px;
}


@media (max-width: 1140px) {
    .site-header {
        padding: 18px 80px;
    }
    .site-header__logo img,
    .site-logo img, .small-logo, .footer-logo {
        width: 218px;
    }
}

@media (max-width: 1080px) {
    p {
        margin: 16px 0;
        font-size: 18px;
        line-height: 120%;
    }

    .site-nav {
        display: none;
    }

    .header-enquire-btn {
        display: none;
    }

    .hamburger-btn {
        display: flex;
    }

    .mobile-nav__close {
        margin-top: 0;
    }

    /* Hero */
    .hero-content {
        padding: 80px 0;
    }

    .hero-content p {
        max-width: 85%;
        text-align: center;
    }

    /* About */
    .center-copy {
        padding: 80px 0;
    }

    /* Space / Bar split layout */
    .split-screen {
        grid-template-columns: 1fr;
        min-height: 100vh;
    }

    .split-copy {
        order: 2;
        min-height: 0;
        padding: 80px 0;
        text-align: center;
        align-items: center;
    }

    .split-copy .small-logo {
        display: none;
    }

    .split-image {
        order: 1;
        min-height: 50vw;
    }

    /* Footer */
    .site-footer {
        /* min-height: 100vh; */
        /* padding: 210px 80px 80px; */
        padding: 40px 20px 40px;
        flex-direction: column;
        justify-content: flex-start;
    }

    .site-footer .footer-left {
        display: flex;
        flex-direction: column;
        gap: 70px;
        max-width: 80%;
    }

    .site-footer .footer-right {
        align-items: flex-start;
        margin-top: 70px;
    }

    .footer-links {
        gap: 8px;
        text-align: left;
    }

    .footer-links a {
        padding: 16px 0;
    }

    .footer-logo {
        display: none;
    }

}

@media (max-width: 600px) {
    .site-header {
        padding: 26px 40px;
    }
    .site-header__logo img,
    .site-logo img, .small-logo, .footer-logo {
        width: 140px;
    }
    .hero-content {
        padding: 40px 0;
    }
    .mobile-nav {
        padding: 26px 40px;
    }
    .hero-content p {
        max-width: 90%;
        font-size: 16px;
        line-height: 120%;
    }
    .center-copy {
        padding: 40px 0;
    }
    h2 {
        margin: 0 0 38px;
        font-size: 28px;
        font-weight: 400;
        line-height: 120%;
    }
    p {
        margin: 16px 0;
        font-size: 16px;
        line-height: 120%;
    }
    .split-copy {
        padding: 60px 0;
        position: static;
    }
    .split-copy h2 {
        margin-bottom: 30px;
    }
    .split-copy .enquire-btn {
        margin-top: 30px;
    }
    .site-footer {
        padding: 40px 20px 40px;
    }
    .site-footer > div {
        gap: 0;
        max-width: 100%;
    }
    .site-footer p, .site-footer a {
        margin: 0;
        padding: 8px 0;
        font-size: 16px;
        line-height: 120%;
        font-weight: 300;
    }
}

/* ═══════════════════════════════════════════════════════════
   PAGE BUILDER — Extensions to existing base styles
═══════════════════════════════════════════════════════════ */

.pb-page {
    height: 100vh;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

/* Hero heading — larger than h2 for full-screen hero */
.hero-heading {
    font-size: 52px;
    font-weight: 400;
    margin: 0 0 32px;
    letter-spacing: 0.05em;
}

/* Video backgrounds — z-index: 0 so ::before overlay (z-index:1) renders on top */
.hero-video,
.split-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* YouTube / Vimeo iframe background — covers any container aspect ratio */
.embed-video {
    position: absolute;
    top: 50%;
    left: 50%;
    /* Wide viewport: height fills, width = height * 16/9 */
    width: 177.78vh;
    height: 100vh;
    transform: translate(-50%, -50%);
    border: none;
    pointer-events: none;
    z-index: 0;
}

/* Tall/portrait viewport: width fills, height = width * 9/16 */
@media (max-aspect-ratio: 16/9) {
    .embed-video {
        width: 100vw;
        height: 56.25vw;
    }
}

/* Mobile fallback image (replaces video on small screens) */
.video-fallback {
    display: none;
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

@media (max-width: 768px) {
    .hero-video,
    .split-video {
        display: none;
    }
    .video-fallback {
        display: block;
    }
}

/* Hero carousel */
.hero-carousel {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-carousel__slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.9s ease;
}

.hero-carousel__slide.is-active {
    opacity: 1;
}

/* Media carousel (split column) */
.media-carousel {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}

.media-carousel__slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.9s ease;
}

.media-carousel__slide.is-active {
    opacity: 1;
}

/* ── C6: FAQ Accordion ───────────────────────────────────── */

.component--faq {
    padding: 100px;
    background: #000;
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.faq__inner {
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
}

.faq__heading {
    margin-bottom: 60px;
}

.faq-list {
    display: flex;
    flex-direction: column;
}

.faq-item {
    border-bottom: 1px solid rgba(238, 221, 203, 0.25);
}

.faq-item:first-child {
    border-top: 1px solid rgba(238, 221, 203, 0.25);
}

.faq-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: transparent;
    border: none;
    color: var(--cream);
    font-family: "Pacaembu", Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 140%;
    text-align: left;
    padding: 28px 0;
    cursor: pointer;
}

.faq-trigger__icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    stroke: var(--cream);
    stroke-width: 1.5;
    fill: none;
}

.faq-trigger__v-line {
    transition: opacity 0.3s ease;
}

.faq-item.is-open .faq-trigger__v-line {
    opacity: 0;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.faq-answer__inner {
    padding-bottom: 28px;
}

.faq-answer p {
    font-size: 18px;
    line-height: 140%;
    font-weight: 300;
    margin: 0;
}

@media (max-width: 1080px) {
    .hero-heading {
        font-size: 38px;
        line-height: 120%;
    }

    .component--faq {
        padding: 80px;
    }
}

@media (max-width: 600px) {
    .hero-heading {
        font-size: 18px;
        line-height: 120%;
    }

    .component--faq {
        padding: 40px;
    }

    .faq-trigger {
        font-size: 16px;
        line-height: 120%;
        padding: 20px 0;
    }
}

/* ── FAQs Page Template ──────────────────────────────────── */

.faqs-page {
    min-height: 100vh;
    padding: 160px 100px 100px;
    box-sizing: border-box;
    max-width: 1100px;
    margin: 0 auto;
}

h1 {
    margin: 0 0 40px;
    font-size: 52px;
    line-height: 140%;
    font-weight: 400;
    letter-spacing: 0.05em;
}

.faqs-section {
    margin-bottom: 60px;
}

.faqs-section__heading {
    font-size: 22px;
    line-height: 140%;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin: 0;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(238, 221, 203, 0.25);
}

/* ── Simple Text Page Template (Terms / Privacy) ─────────── */

.simple-page {
    min-height: 100vh;
    padding: 160px 100px 100px;
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box;
}

.simple-page__title {
    font-size: 42px;
    line-height: 140%;
    font-weight: 400;
    margin: 0 0 60px;
}

.simple-page__content h2 {
    margin: 60px 0 16px;
    font-size: 24px;
    line-height: 140%;
    font-weight: 400;
}

.simple-page__content p,
.simple-page__content li {
    font-size: 18px;
    line-height: 140%;
    font-weight: 300;
    font-style: normal;
}

.simple-page__content ul,
.simple-page__content ol {
    padding-left: 1.4em;
    margin: 16px 0;
}

.simple-page__content a {
    color: var(--cream);
    text-underline-offset: 3px;
}

@media (max-width: 1080px) {
    .faqs-page,
    .simple-page {
        padding: 140px 20px 80px;
    }

    h1 {
        font-size: 38px;
        line-height: 120%;
    }

    .simple-page__title {
        font-size: 32px;
        line-height: 120%;
    }
}

@media (max-width: 600px) {
    .faqs-page,
    .simple-page {
        padding: 100px 20px 60px;
    }

    h1,
    .simple-page__title {
        font-size: 28px;
        line-height: 120%;
        margin-bottom: 40px;
    }
}

/* Form */
.gform-theme {
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
}

.gform-theme--framework .gform-field-label {
  color: #EEDDCB!important;
  text-transform: uppercase;
  letter-spacing: 0.8em;
  font-size: 18px;
  line-height: 140%;
}

.gform-theme--api, .gform-theme--foundation {
  --gf-form-gap-y: 25px!important;
}

.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input {
  --gf-local-width: auto;
  background: transparent;
  border-radius: 0px;
  color: #EEDDCB;
  text-align: left;
}

.gform-theme--framework .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gfield:where(.gfield--type-select,.gfield--input-type-select) .chosen-search input[type=text]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gfield:where(.gfield--type-select,.gfield--input-type-select) .chosen-single:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gform-theme-field-control:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type=hidden])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework select[multiple]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework textarea:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper .button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper .gform-theme-button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper :where(:not(.mce-splitbtn))>button:not([id*=mceu_]):not(.mce-open):where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper button.button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper input:is([type=submit],[type=button],[type=reset]).button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper input:is([type=submit],[type=button],[type=reset]):where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper input[type=submit].button.gform_button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
--gf-local-width: auto;
  background: transparent!important;
  border: 1px solid #EEDDCB!important;
  border-radius: 0px!important;
  color: #EEDDCB!important;
  text-align: left;
}

input[type="submit"] {
  margin: 0 auto;
  border: 1px solid #EEDDCB!important;
  text-transform: uppercase;
}

.gform-theme--framework input[type="submit"] {
  margin: 0 auto;
  border: 1px solid #EEDDCB!important;
  text-transform: uppercase;
}

.gform-theme.gform-theme--framework.gform_wrapper .button,
.button.gform_button,
.gform-theme.gform-theme--framework.gform_wrapper input[type=submit].button.gform_button {
  margin: 0 auto!important;
  border: 1px solid #EEDDCB!important;
  text-transform: uppercase!important;
}

.gform_wrapper {
	background: black;
	max-width: 500px;
	margin: 50px auto;
	padding: 40px 20px;
}

.screen {
    padding: 0 20px;
}

@media (max-width: 600px) {
    .hero-content,
    .center-copy {
        min-height: 100vh;
        padding: 60px 0;
    }
}

.gform-theme--framework.ui-datepicker select.ui-datepicker-month, .gform-theme--framework.ui-datepicker select.ui-datepicker-year {
  border-color: #000000 !important;
  color: #000000 !important;
}

.gform-theme--foundation .gfield select option {
  color: #000000 !important;
}

.number-guests,
.number-guest {
  display: flex;
  align-items: center;
  gap: 8px;
}

.number-guests .gfield_label,
.number-guest .gfield_label {
  width: auto;
  white-space: nowrap;
  display: flex;
  align-items: center;
  margin: 0;
}

.number-guests input,
.number-guest input {
  width: 40px !important;
  height: 40px !important;
  margin: 0;
  text-align: center;
  font-size: 18px!important;
  line-height: 140%;
  letter-spacing: -0.01em;
}

.number-guests input::-webkit-inner-spin-button,
.number-guests input::-webkit-outer-spin-button,
.number-guest input::-webkit-inner-spin-button,
.number-guest input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.number-guests input,
.number-guest input {
  -moz-appearance: textfield;
}

.plus-minus .input-number {
  display: flex;
  align-items: center;
  gap: 16px;
}

.input-number__button {
  position: relative;
  display: block;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.input-number__button::before,
.input-number__button.plus::after {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  top: 50%;
  height: 2px;
  background: currentColor;
  transform: translateY(-50%);
}

.input-number__button.plus::after {
  left: 50%;
  right: auto;
  top: 4px;
  bottom: 4px;
  width: 2px;
  height: auto;
  transform: translateX(-50%);
}

.input-number__button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.ginput_container_number input[type="number"] {
	padding: 5px !important;
	text-align: center;
	appearance: textfield;
  -moz-appearance: textfield;
}

.ginput_container_number input[type="number"]::-webkit-outer-spin-button,
.ginput_container_number input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.gfield--type-number {
	display: flex!important;
	flex-direction: row!important;
	align-items: center!important;
	gap: 5px!important;
}

.gfield--type-number > label {
	margin: 0!important;
}

.gfield--input-type-html {
	display: flex!important;
}

.gform-theme--framework .gform-field-label {
	letter-spacing: 0.8em!important;
}

.gform_required_legend {
	display: none;
}

.site-nav a, .site-nav__menu a {
    letter-spacing: 0.25em;
    font-weight: 300;
}

.enquire-btn {
    padding: 5px 20px;
    line-height: 1;
    font-weight: 400;
}

@media (max-width: 991px) {
	.gform-theme {
    max-width: 100%;
}
	.gform_wrapper {
    max-width: 90%;
}
}

.ginput_container_number input[type="number"] {
	padding: 5px !important;
	text-align: center;
	appearance: textfield;
  -moz-appearance: textfield;
}

.ginput_container_number input[type="number"]::-webkit-outer-spin-button,
.ginput_container_number input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.gfield--type-number {
	display: flex!important;
	flex-direction: row!important;
	align-items: center!important;
	gap: 5px!important;
}

.gfield--type-number > label {
	margin: 0!important;
}

.gfield--input-type-html {
	display: flex!important;
}

.gform-theme--framework .gform-field-label {
	letter-spacing: 0.8em!important;
}

.gform_required_legend {
	display: none;
}

.site-nav a, .site-nav__menu a {
    letter-spacing: 0.25em;
    font-weight: 300;
}

@media (max-width: 991px) {
	.gform-theme {
    max-width: 100%;
}
	.gform_wrapper {
    max-width: 90%;
}
}

#field_3_5 .ginput_container_number {
	margin-left: 30px;
	position: relative;
}

#field_3_5 .input-number {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

#field_3_5 .input-number__button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    cursor: pointer;
    pointer-events: auto;
    z-index: 10;
}

#field_3_5 .input-number__button.minus {
    left: -30px;
}

#field_3_5 .input-number__button.minus::before {
    content: "";
    font-size: 18px;
    line-height: 140%;
    display: block;
    text-align: center;
}

#field_3_5 .input-number__button.plus {
    right: -30px;
}

#field_3_5 .input-number__button.plus::before {
    content: "";
    font-size: 24px;
    line-height: 140%;
    display: block;
    text-align: center;
}

#field_3_5 input[type="text"] {
    text-align: center;
    font-size: 18px!important;
    line-height: 140%;
    padding: 0 !important;
    width: 30px !important;
    height: 30px !important;
}

#field_3_10 {
    display: none;
}

.gfield.gfield--type-number {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.number-guests .gfield_label, .number-guest .gfield_label {
	display: block!important;
}

#field_3_5 input[type="number"]::-webkit-inner-spin-button,
#field_3_5 input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

#field_3_5 input[type="number"] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

body #gform_wrapper_3 #field_3_5 input#input_3_5::-webkit-inner-spin-button,
body #gform_wrapper_3 #field_3_5 input#input_3_5::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

body #gform_wrapper_3 #field_3_5 input#input_3_5 {
    -moz-appearance: textfield !important;
}

@media (max-width: 639px) {
	.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input {
		width: 100%;
	}
	.gfield--type-number {
		margin-bottom: -25px!important;
	}
}

@media (max-width: 600px) {
	.hero-content, .center-copy {
		min-height: 100vh;
		padding: 100px 0;
	}
	.enquire-btn {
		padding: 4px 20px;
		font-size: 16px;
        line-height: 120%;
	}
}

@media (max-width: 1080px) {
	.mobile-nav {
		padding: 26px 40px;
	}

	.site-header {
		padding: 26px 40px;
	}

	.site-header__logo img, .site-logo img, .small-logo, .footer-logo {
		width: 140px;
	}
	.center-copy {
		justify-content: flex-start;
	}
	.screen {
		padding: 0;
	}
	.split-copy {
		padding: 80px 20px;
	}
    .scroll-arrow {
        bottom: 50px;
    }
	.site-footer .footer-left {
		gap: 8px;
	}
	.site-footer .footer-right {
		margin-top: 0;
	}
    .center-copy p {
        margin: 16px 20px;
    }
    .site-header {
        padding: 26px 20px;
    }
    .mobile-nav {
        padding: 26px 20px;
    }
    .enquire-btn {
        font-size: 16px;
        line-height: 120%;
    }
}

.hero-content p {
	letter-spacing: 0.8em;
}

ul, ol, li {
    font-weight: 300;
}

.gform-theme.gform-theme--framework.gform_wrapper .button, .button.gform_button, .gform-theme.gform-theme--framework.gform_wrapper input[type=submit].button.gform_button {
	letter-spacing: 0.8em!important;
}
@media (max-width: 600px) {
	.hero-content {
		min-height: calc(100vh - 200px);
	}
	.hero-content p {
        line-height: 170%;
		letter-spacing: 1em;
	}
}
