@media (max-width: 1050px) {

    .gateway {
        grid-template-columns:
            38% 62%;
    }

    .gateway-brand {
        padding:
            27px 28px;
    }

    .world-menu {
        width: 82%;

        margin-left: 45px;
    }

    .world-entry h2 {
        font-size:
            clamp(38px, 4.8vw, 55px);
    }

}


@media (max-width: 760px) {

    .gateway {
        display: block;
    }


    .gateway-brand {
        min-height: 86svh;

        padding:
            24px 24px 30px;
    }


    .brand-center {
        padding:
            35px 0 30px;
    }


    .key-emblem {
        width: 125px;
        height: 250px;
    }


    .brand-center h1 {
        font-size: 66px;
    }


    .brand-type {
        font-size: 11px;

        letter-spacing: .2em;
    }


    .brand-phrase {
        font-size: 23px;
    }


    .brand-footer {
        gap: 8px 12px;

        flex-wrap: wrap;
    }


    .gateway-world {
        min-height: 100svh;
    }


    .house-image {
        background-position: center center;
    }


    .house-overlay {
        background:

            linear-gradient(
                90deg,
                rgba(4,8,6,.72),
                rgba(4,7,5,.38)
            ),

            linear-gradient(
                0deg,
                rgba(3,4,3,.70),
                transparent 75%
            );
    }


    .world-menu {
        width: auto;

        margin: 0;

        padding:
            95px 27px
            45px;

        justify-content: flex-end;
    }


    .world-entry {
        padding:
            14px 0 20px;
    }


    .world-entry h2 {
        font-size:
            clamp(38px, 12vw, 54px);
    }


    .world-entry p {
        font-size: 15px;
    }


    .language-right {
        top: 27px;
        right: 27px;
    }


    .secondary-links {
        flex-wrap: wrap;
    }


    .invitation {
        min-height: 61px;

        font-size: 13px;
    }

}


@media (max-width: 420px) {

    .brand-center h1 {
        font-size: 58px;
    }


    .brand-phrase {
        font-size: 20px;
    }


    .world-menu {
        padding-left: 21px;
        padding-right: 21px;
    }


    .world-entry h2 {
        font-size: 39px;
    }


    .world-entry p {
        font-size: 14px;
    }

}


/* =========================================================
   SIGNATURE EVENTS — RESPONSIVE
========================================================= */

@media (max-width: 950px) {

    .events-date {
        opacity: .4;
    }


    .events-manifesto {
        grid-template-columns:
            1fr 2fr;
    }


    .events-manifesto-copy {
        grid-column: 2;
    }


    .event-experience-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .event-experience-grid article:nth-child(2) {
        border-right: 0;
    }


    .event-access {
        grid-template-columns: 1fr;
    }


    .access-intro {
        position: static;
    }

}


@media (max-width: 700px) {

    .events-hero-content {
        width: auto;

        margin:
            0 24px 65px;
    }


    .events-date {
        top: 115px;
        right: 20px;

        opacity: .28;
    }


    .events-date > span {
        font-size: 100px;
    }


    .events-hero h1 {
        font-size:
            clamp(84px, 27vw, 125px);
    }


    .events-hero-footer {
        display: none;
    }


    .event-meta {
        max-width: 330px;
    }


    .events-manifesto {
        display: block;

        padding:
            90px 24px;
    }


    .events-manifesto-title {
        margin:
            24px 0 37px;
    }


    .events-manifesto-title h2 {
        font-size: 54px;
    }


    .events-statement {
        min-height: 560px;

        padding:
            85px 24px;
    }


    .events-statement > div {
        width: 100%;
    }


    .events-statement blockquote {
        font-size: 52px;
    }


    .event-experience {
        padding:
            90px 24px;
    }


    .event-experience-heading h2 {
        font-size: 56px;
    }


    .event-experience-grid {
        grid-template-columns: 1fr;
    }


    .event-experience-grid article {
        min-height: 240px;

        border-right: 0;

        border-bottom:
            1px solid #c7bdad;
    }


    .event-experience-grid article > span {
        margin-bottom: 40px;
    }


    .event-access {
        padding:
            90px 24px;
    }


    .access-intro h2 {
        font-size: 55px;
    }


    .access-principles {
        margin-top: 55px;
    }


    .access-row {
        grid-template-columns:
            40px 1fr;
    }


    .access-row p {
        grid-column: 2;
    }


    .event-pricing {
        padding:
            90px 20px;
    }


    .pricing-heading {
        text-align: left;
    }


    .pricing-heading h2 {
        font-size: 56px;
    }


    .pricing-grid {
        grid-template-columns: 1fr;
    }


    .price-card {
        min-height: auto;
    }


    .events-calendar {
        padding:
            90px 24px;
    }


    .calendar-heading h2 {
        font-size: 57px;
    }


    .calendar-event {
        padding:
            24px 0;

        grid-template-columns:
            45px 1fr;

        gap:
            7px 15px;
    }


    .calendar-name {
        grid-column: 2;
    }


    .calendar-status {
        grid-column: 2;

        justify-self: start;

        margin-top: 5px;
    }


    .signature-invitation {
        min-height: 650px;

        padding:
            80px 24px;
    }


    .signature-invitation h2 {
        font-size: 62px;
    }

}


/* =========================================================
   INTERNAL PAGES — TABLET
========================================================= */

@media (max-width: 950px) {

    .inner-nav {
        display: none;
    }

    .inner-contact {
        margin-left: auto;
    }


    .casa-intro {
        grid-template-columns:
            1fr 2fr;
    }

    .intro-copy {
        grid-column: 2;
    }


    .image-story {
        grid-template-columns: 1fr;
    }

    .story-image {
        min-height: 65vw;
    }


    .philosophy-section {
        grid-template-columns:
            1fr;
    }

    .philosophy-number {
        margin-bottom: 50px;
    }


    .stay-copy {
        grid-template-columns:
            1fr 2fr;
    }

    .stay-copy h2 {
        grid-column: 2;
    }

    .stay-copy > p {
        grid-column: 2;
    }

}


/* =========================================================
   INTERNAL PAGES — MOBILE
========================================================= */

@media (max-width: 700px) {

    .inner-header {
        height: 70px;

        padding:
            0 20px;
    }


    .inner-monogram {
        width: 34px;
        height: 34px;
    }


    .inner-brand-name {
        font-size: 19px;
    }


    .inner-contact {
        padding:
            9px 12px;

        font-size: 8px;
    }


    .casa-hero {
        min-height: 92svh;
    }


    .casa-hero-content {
        width: 100%;

        padding:
            130px 24px 62px;
    }


    .casa-hero h1 {
        font-size:
            clamp(54px, 16vw, 78px);
    }


    .casa-hero-content > p {
        font-size: 19px;
    }


    .hero-side-note {
        display: none;
    }


    .casa-intro {
        display: block;

        padding:
            90px 24px;
    }


    .intro-heading {
        margin:
            24px 0 37px;
    }


    .intro-heading h2 {
        font-size: 52px;
    }


    .story-image {
        min-height: 75vh;
    }


    .story-copy {
        padding:
            80px 24px;
    }


    .story-copy h2 {
        font-size: 50px;
    }


    .story-points > div {
        grid-template-columns: 1fr;
    }


    .philosophy-section {
        min-height: auto;

        padding:
            90px 24px;
    }


    .philosophy-number {
        font-size: 130px;
    }


    .philosophy-content blockquote {
        font-size: 46px;
    }


    .rooms-section {
        padding:
            90px 18px;
    }


    .rooms-heading {
        text-align: left;

        margin-bottom: 55px;
    }


    .rooms-heading h2 {
        font-size: 55px;
    }


    .rooms-heading p {
        margin-left: 0;
    }


    .room-grid {
        grid-template-columns: 1fr;
    }


    .room-image {
        height: 125vw;

        max-height: 650px;
    }


    .salon-section {
        min-height: 850px;
    }


    .salon-copy {
        width: auto;

        margin:
            0 24px 65px;
    }


    .salon-copy h2 {
        font-size: 59px;
    }


    .stay-section {
        padding:
            90px 24px;
    }


    .stay-copy {
        display: block;
    }


    .stay-copy h2 {
        margin:
            22px 0 30px;

        font-size: 53px;
    }


    .stay-grid {
        grid-template-columns: 1fr;
    }


    .stay-item {
        border-right: 0;

        border-bottom:
            1px solid #cbc2b5;
    }


    .page-cta {
        min-height: 600px;

        padding:
            80px 24px;
    }


    .page-cta h2 {
        font-size: 57px;
    }


    .inner-footer {
        padding:
            45px 24px;

        display: block;
    }


    .inner-footer > a {
        display: block;

        margin-bottom: 30px;
    }


    .inner-footer div {
        margin:
            20px 0;

        flex-wrap: wrap;
    }


    .inner-footer div:last-child {
        justify-content: flex-start;
    }

}


/* =========================================================
   SIGNATURE EVENTS — RESPONSIVE
========================================================= */

@media (max-width: 950px) {

    .events-date {
        opacity: .4;
    }


    .events-manifesto {
        grid-template-columns:
            1fr 2fr;
    }


    .events-manifesto-copy {
        grid-column: 2;
    }


    .event-experience-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .event-experience-grid article:nth-child(2) {
        border-right: 0;
    }


    .event-access {
        grid-template-columns: 1fr;
    }


    .access-intro {
        position: static;
    }

}


@media (max-width: 700px) {

    .events-hero-content {
        width: auto;

        margin:
            0 24px 65px;
    }


    .events-date {
        top: 115px;
        right: 20px;

        opacity: .28;
    }


    .events-date > span {
        font-size: 100px;
    }


    .events-hero h1 {
        font-size:
            clamp(84px, 27vw, 125px);
    }


    .events-hero-footer {
        display: none;
    }


    .event-meta {
        max-width: 330px;
    }


    .events-manifesto {
        display: block;

        padding:
            90px 24px;
    }


    .events-manifesto-title {
        margin:
            24px 0 37px;
    }


    .events-manifesto-title h2 {
        font-size: 54px;
    }


    .events-statement {
        min-height: 560px;

        padding:
            85px 24px;
    }


    .events-statement > div {
        width: 100%;
    }


    .events-statement blockquote {
        font-size: 52px;
    }


    .event-experience {
        padding:
            90px 24px;
    }


    .event-experience-heading h2 {
        font-size: 56px;
    }


    .event-experience-grid {
        grid-template-columns: 1fr;
    }


    .event-experience-grid article {
        min-height: 240px;

        border-right: 0;

        border-bottom:
            1px solid #c7bdad;
    }


    .event-experience-grid article > span {
        margin-bottom: 40px;
    }


    .event-access {
        padding:
            90px 24px;
    }


    .access-intro h2 {
        font-size: 55px;
    }


    .access-principles {
        margin-top: 55px;
    }


    .access-row {
        grid-template-columns:
            40px 1fr;
    }


    .access-row p {
        grid-column: 2;
    }


    .event-pricing {
        padding:
            90px 20px;
    }


    .pricing-heading {
        text-align: left;
    }


    .pricing-heading h2 {
        font-size: 56px;
    }


    .pricing-grid {
        grid-template-columns: 1fr;
    }


    .price-card {
        min-height: auto;
    }


    .events-calendar {
        padding:
            90px 24px;
    }


    .calendar-heading h2 {
        font-size: 57px;
    }


    .calendar-event {
        padding:
            24px 0;

        grid-template-columns:
            45px 1fr;

        gap:
            7px 15px;
    }


    .calendar-name {
        grid-column: 2;
    }


    .calendar-status {
        grid-column: 2;

        justify-self: start;

        margin-top: 5px;
    }


    .signature-invitation {
        min-height: 650px;

        padding:
            80px 24px;
    }


    .signature-invitation h2 {
        font-size: 62px;
    }

}
