/*
Theme Name:  OmakaseRoom
Description: restaurant
Version:     2.5.0
Author:      Fixit E.E.
Author URI:  https://www.fixit.gr
Text Domain: omakase-room
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Inter:wght@300;400;500;600&family=Noto+Serif+JP:wght@300;400&display=swap');

:root {
    --color-content-primary:   #1a1a1a;
    --color-content-secondary: #ffffff;
    --color-content-accent:    #8b1a1a;
    --color-content-bg:        #F7F5F0;
    --fx-hero-gradient: linear-gradient(148deg, #1a1a1a 0%, #0c0c0c 100%);
    --color-content-text:      #1a1a1a;
    --fx-font-heading-override: Noto Serif JP, serif;
    --fx-font-body-override: Inter, sans-serif;
}

html body[class] {
    background: #F7F5F0;
    color: #33302B;
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.002em;
    -webkit-font-smoothing: antialiased;
}

html body[class] h1,
html body[class] h2,
html body[class] h3,
html body[class] h4,
html body[class] h5,
html body[class] h6 {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    color: #0E1417;
    font-weight: 400;
    font-style: normal;
}

html body[class] h1 {
    font-size: clamp(2.7rem, 5.6vw, 4.4rem);
    line-height: 1.06;
    letter-spacing: -0.012em;
    margin: 0 0 0.4em;
}

html body[class] h2 {
    font-size: clamp(1.85rem, 3.3vw, 2.7rem);
    line-height: 1.16;
    letter-spacing: -0.008em;
    margin: 0 0 0.55em;
}

html body[class] h3 {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0;
    margin: 0 0 0.6em;
}

html body[class] h4 {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.35;
    margin: 0 0 0.6em;
}

html body[class] p {
    margin: 0 0 1.15em;
}

html body[class] a {
    color: #0E1417;
    text-decoration: none;
    transition: color 0.25s ease;
}

html body[class] a:hover {
    color: #A8835C;
}

html body[class] ::selection {
    background: #C8B07C;
    color: #0E1417;
}

html body[class] .t-container {
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto;
}

html body[class] .t-section {
    padding-top: 124px;
    padding-bottom: 124px;
    background: #F7F5F0;
    position: relative;
}

html body[class] .t-section--white {
    background: #F7F5F0;
}

html body[class] .t-section--white + .t-section--white,
html body[class] .t-section--soft + .t-section--soft,
html body[class] .t-section--navy + .t-section--navy {
    padding-top: 0;
}

html body[class] .t-section--soft {
    background: #EFE9DE;
}

html body[class] .t-section--navy {
    background: #0E1417;
    color: #D9D3C8;
    border-radius: 0;
    margin-left: 0;
    margin-right: 0;
    box-shadow: none;
}

html body[class] .t-section--navy h1,
html body[class] .t-section--navy h2,
html body[class] .t-section--navy h3,
html body[class] .t-section--navy h4 {
    color: #F4EFE5;
}

html body[class] .t-section--navy a {
    color: #C8B07C;
}

html body[class] .t-section--navy a:hover {
    color: #F4EFE5;
}

html body[class] .t-section-title {
    text-align: left;
    font-size: clamp(1.85rem, 3.3vw, 2.7rem);
    font-weight: 400;
    letter-spacing: -0.008em;
    margin: 0 0 14px;
    padding-bottom: 20px;
    position: relative;
}

html body[class] .t-section-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 1px;
    background: #A8835C;
}

html body[class] .t-section--navy .t-section-title::after {
    background: #C8B07C;
}

html body[class] .t-section-subtitle {
    text-align: left;
    font-size: 1.02rem;
    line-height: 1.7;
    color: #5D564B;
    max-width: 62ch;
    margin: 18px 0 0;
}

html body[class] .t-section--navy .t-section-subtitle {
    color: #ADA595;
}

html body[class] .t-lead {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #4A443B;
}

html body[class] .t-hero-full {
    position: relative;
}

html body[class] .om-hero-media,
html body[class] .om-hero-veil {
    position: absolute;
    inset: 0;
    z-index: 0;
}

html body[class] .om-hero-frame {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transform: scale(1.04);
    animation: om-hero-cycle 27s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    will-change: opacity, transform;
}

html body[class] .om-hero-frame--1 {
    animation-delay: 0s;
    opacity: 1;
}

html body[class] .om-hero-frame--2 {
    animation-delay: 9s;
}

html body[class] .om-hero-frame--3 {
    animation-delay: 18s;
}

html body[class] .om-hero-veil {
    z-index: 1;
    background: linear-gradient(180deg,
        rgba(14, 20, 23, 0.32) 0%,
        rgba(14, 20, 23, 0.44) 45%,
        rgba(14, 20, 23, 0.88) 100%);
}

@keyframes om-hero-cycle {
    0% {
        opacity: 0;
        transform: scale(1.04);
    }
    6% {
        opacity: 1;
    }
    33% {
        opacity: 1;
    }
    39% {
        opacity: 0;
        transform: scale(1.12);
    }
    100% {
        opacity: 0;
        transform: scale(1.04);
    }
}

@media (prefers-reduced-motion: reduce) {
    html body[class] .om-hero-frame {
        animation: none;
        opacity: 0;
        transform: none;
    }

    html body[class] .om-hero-frame--1 {
        opacity: 1;
    }
}

html body[class] a:focus-visible,
html body[class] button:focus-visible,
html body[class] input:focus-visible,
html body[class] textarea:focus-visible,
html body[class] select:focus-visible,
html body[class] [tabindex]:focus-visible {
    box-shadow: 0 0 0 2px #F7F5F0, 0 0 0 4px #A8835C;
    border-radius: 0;
}

html body[class] .t-section--navy a:focus-visible,
html body[class] .t-hero-full a:focus-visible,
html body[class] .t-footer a:focus-visible,
html body[class] .t-rich-footer a:focus-visible {
    box-shadow: 0 0 0 2px #0E1417, 0 0 0 4px #C8B07C;
}

html body[class] .om-phone {
    display: inline-block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(2.4rem, 5vw, 3.8rem);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: #0E1417;
    margin: 8px 0 6px;
}

html body[class] .om-phone:hover {
    color: #A8835C;
}

html body[class] .om-phone-when {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #8A8175;
}

html body[class] .om-map {
    margin-top: 0;
    border-top: 1px solid #D8D0C2;
    border-bottom: 1px solid #D8D0C2;
    filter: saturate(0.72) contrast(1.04);
}

html body[class] .om-map iframe {
    display: block;
    width: 100%;
    height: clamp(300px, 42vh, 460px);
    border: 0;
}

/*
 * The map is taken out of the tab order. Chrome makes an iframe the active
 * element without ever matching :focus or :focus-within on it, so a keyboard
 * user tabbing in gets no ring from any rule and lands inside an opaque
 * document. The link below it carries the same information and can be seen,
 * read and focused.
 */
html body[class] .om-map-link {
    display: block;
    padding: 16px 40px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #33302B;
    background: #EFE9DE;
}

html body[class] .om-map-link:hover {
    color: #0E1417;
    background: rgba(200, 176, 124, 0.22);
}

@media (max-width: 640px) {
    html body[class] .om-map-link {
        padding: 14px 22px;
        letter-spacing: 0.14em;
    }
}

html body[class] .om-form {
    max-width: 640px;
    margin-top: 44px;
}

html body[class] .om-field {
    margin-bottom: 26px;
}

html body[class] .om-field-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
}

html body[class] .om-field label {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #8A8175;
    margin-bottom: 8px;
}

html body[class] .om-form input[type="text"],
html body[class] .om-form input[type="email"],
html body[class] .om-form input[type="tel"],
html body[class] .om-form textarea {
    width: 100%;
    box-sizing: border-box;
}

html body[class] .om-consent {
    margin: 30px 0 34px;
    padding-top: 22px;
    border-top: 1px solid #E3DCCE;
    font-size: 0.92rem;
    line-height: 1.7;
    color: #5D564B;
}

html body[class] .om-consent input[type="checkbox"] {
    margin-right: 10px;
    accent-color: #0E1417;
}

html body[class] .om-consent .wpcf7-list-item {
    margin: 0;
}

html body[class] .om-form .wpcf7-not-valid-tip {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: #8B3A2E;
    margin-top: 8px;
}

html body[class] .om-form .wpcf7-response-output {
    margin: 28px 0 0;
    padding: 18px 22px;
    border: 1px solid #C6BCA9;
    border-radius: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #33302B;
}

html body[class] .om-form .wpcf7-spinner {
    display: none;
}

html body[class] .om-form input[type="submit"]:disabled {
    background: transparent;
    border-color: #C6BCA9;
    color: #9A9184;
    cursor: not-allowed;
}

html body[class] .om-form input[type="submit"]:disabled:hover {
    background: transparent;
    border-color: #C6BCA9;
    color: #9A9184;
}

html body[class] .om-consent-hint {
    display: block;
    margin-top: 12px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #A8835C;
}

html body[class] .om-form-fallback {
    color: #5D564B;
}

@media (max-width: 640px) {
    html body[class] .om-field-pair {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

html body[class] .om-rows {
    border-top: 1px solid #D8D0C2;
    margin-top: 44px;
}

html body[class] .om-row {
    display: grid;
    grid-template-columns: 1.5fr 2fr auto;
    gap: clamp(18px, 3vw, 48px);
    align-items: baseline;
    padding: 22px 0;
    border-bottom: 1px solid #E3DCCE;
}

html body[class] .om-row-name {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: 1.32rem;
    font-weight: 400;
    line-height: 1.25;
    color: #0E1417;
    margin: 0;
}

html body[class] .om-row-jp {
    display: block;
    font-size: 11px;
    letter-spacing: 0.14em;
    color: #A8835C;
    margin-top: 4px;
}

html body[class] .om-row-note {
    font-size: 0.93rem;
    line-height: 1.65;
    color: #5D564B;
    margin: 0;
}

html body[class] .om-row-price {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.2rem;
    color: #0E1417;
    white-space: nowrap;
}

html body[class] .om-group {
    margin-top: 72px;
}

html body[class] .om-group-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #0E1417;
}

html body[class] .om-group-head h3 {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #0E1417;
    margin: 0;
}

html body[class] .om-group-head span {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.2rem;
    color: #A8835C;
}

html body[class] .om-table-wrap {
    overflow-x: auto;
    margin-top: 48px;
    border-top: 1px solid #0E1417;
}

html body[class] .om-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    min-width: 620px;
}

html body[class] .om-table th,
html body[class] .om-table td {
    text-align: left;
    padding: 14px 12px 14px 0;
    border-bottom: 1px solid #E3DCCE;
    vertical-align: top;
}

html body[class] .om-table thead th {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #8A8175;
    padding-bottom: 12px;
    white-space: nowrap;
}

html body[class] .om-table tbody th {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: 1.1rem;
    font-weight: 400;
    color: #0E1417;
    min-width: 200px;
}

html body[class] .om-table td {
    color: #5D564B;
    text-align: center;
    padding-right: 0;
}

html body[class] .om-yes {
    color: #0E1417;
}

html body[class] .om-req {
    color: #A8835C;
    font-size: 11px;
    letter-spacing: 0.1em;
}

html body[class] .om-no {
    color: #C6BCA9;
}

html body[class] .om-band img {
    display: block;
    width: 100%;
    height: clamp(240px, 34vh, 380px);
    object-fit: cover;
    border-radius: 0;
    filter: saturate(0.9) contrast(1.02);
}

@media (max-width: 760px) {
    html body[class] .om-row {
        grid-template-columns: 1fr auto;
        gap: 8px 18px;
    }

    html body[class] .om-row-note {
        grid-column: 1 / -1;
    }
}

html body[class] .a-legal {
    display: block;
    max-width: 1180px;
    margin: 0 auto;
    padding: 96px 40px;
    background: #F7F5F0;
}

html body[class] .a-tag {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #A8835C;
    margin-bottom: 20px;
}

html body[class] .a-legal .a-h2 {
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.1;
    margin: 0 0 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #D8D0C2;
}

html body[class] .a-legal .a-lead,
html body[class] .a-legal p {
    max-width: 68ch;
    font-size: 1.02rem;
    line-height: 1.8;
    color: #3B362F;
}

html body[class] .a-legal h2,
html body[class] .a-legal h3 {
    margin-top: 1.8em;
}

@media (max-width: 640px) {
    html body[class] .a-legal {
        padding: 60px 22px;
    }
}

html body[class] .om-choose {
    border-top: 1px solid #D8D0C2;
    margin-top: 56px;
}

html body[class] .om-choose-item {
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: clamp(24px, 5vw, 64px);
    align-items: start;
    padding: 40px 0;
    border-bottom: 1px solid #D8D0C2;
}

html body[class] .om-choose-meta strong {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
    color: #0E1417;
    margin-bottom: 8px;
}

html body[class] .om-choose-meta span {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #8A8175;
    line-height: 1.6;
}

html body[class] .om-choose-title {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: clamp(1.55rem, 2.6vw, 2.2rem);
    font-weight: 400;
    line-height: 1.15;
    color: #0E1417;
    margin: 0 0 12px;
}

html body[class] .om-choose-title a {
    color: inherit;
}

html body[class] .om-choose-item:hover .om-choose-title a {
    color: #A8835C;
}

html body[class] .om-choose-body {
    font-size: 1rem;
    line-height: 1.75;
    color: #5D564B;
    margin: 0;
    max-width: 58ch;
}

html body[class] .t-section--navy .om-choose {
    border-top-color: rgba(200, 176, 124, 0.24);
}

html body[class] .t-section--navy .om-choose-item {
    border-bottom-color: rgba(200, 176, 124, 0.24);
}

html body[class] .t-section--navy .om-choose-meta strong,
html body[class] .t-section--navy .om-choose-title {
    color: #F4EFE5;
}

html body[class] .t-section--navy .om-choose-body {
    color: #ADA595;
}

@media (max-width: 760px) {
    html body[class] .om-choose-item {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 30px 0;
    }

    html body[class] .om-choose-meta strong {
        font-size: 1.6rem;
    }
}

html body[class] .om-article-head {
    border-bottom: 1px solid #D8D0C2;
    padding-bottom: 40px;
    margin-bottom: 52px;
}

html body[class] .om-article-meta {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #A8835C;
    margin-bottom: 22px;
}

html body[class] .om-article-head h1 {
    font-size: clamp(2.2rem, 4.4vw, 3.6rem);
    line-height: 1.08;
    max-width: 20ch;
    margin: 0;
}

html body[class] .om-article {
    max-width: 68ch;
}

html body[class] .om-article p {
    font-size: 1.06rem;
    line-height: 1.82;
    color: #3B362F;
    margin: 0 0 1.35em;
}

html body[class] .om-article > p:first-of-type {
    font-size: 1.28rem;
    line-height: 1.68;
    color: #22201C;
}

html body[class] .om-article h2 {
    font-size: 1.6rem;
    margin: 2em 0 0.6em;
}

html body[class] .om-article blockquote {
    margin: 2.2em 0;
    padding-left: 28px;
    border-left: 1px solid #A8835C;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.5rem;
    line-height: 1.4;
    color: #0E1417;
    quotes: none;
}

html body[class] .om-article-figure {
    margin: 2.4em 0;
}

html body[class] .om-article-figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    filter: saturate(0.9);
}

html body[class] .om-article-figure figcaption {
    margin-top: 12px;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #8A8175;
}

html body[class] .om-article-end {
    margin-top: 56px;
    padding-top: 26px;
    border-top: 1px solid #D8D0C2;
}

html body[class] .om-qa {
    border-top: 1px solid #D8D0C2;
    margin-top: 52px;
}

html body[class] .om-qa-item {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: clamp(24px, 5vw, 72px);
    padding: 32px 0;
    border-bottom: 1px solid #D8D0C2;
}

html body[class] .om-qa-q {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: 1.45rem;
    font-weight: 400;
    line-height: 1.25;
    color: #0E1417;
    margin: 0;
}

html body[class] .om-qa-a {
    font-size: 0.98rem;
    line-height: 1.75;
    color: #5D564B;
    margin: 0;
}

@media (max-width: 900px) {
    html body[class] .om-qa-item {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

html body[class] .om-bleed {
    display: grid;
    grid-template-columns: 1.08fr 1fr;
    align-items: center;
    gap: 0;
}

html body[class] .om-bleed--flip .om-bleed-media {
    order: 2;
}

html body[class] .om-bleed-media img {
    display: block;
    width: 100%;
    height: clamp(420px, 62vh, 720px);
    object-fit: cover;
    border-radius: 0;
    filter: saturate(0.9) contrast(1.03);
}

/*
 * The bleed sections lay their text in a grid column rather than in
 * .t-container, so their inset had nothing to do with the page margin: the
 * Ozashiki text began at 79px while every other section began at 170px, and the
 * eye caught the step. The edge facing the viewport now matches the container's
 * own text edge - (100vw - 1180px) / 2 + 40px, floored at the container's
 * padding - so the left-hand text sits on the same line as the rest of the page
 * and the right-hand text ends on the page's right margin.
 */
html body[class] .om-bleed-body {
    padding-left: max(40px, calc((100vw - 1180px) / 2 + 40px));
    padding-right: clamp(28px, 4vw, 72px);
}

html body[class] .om-bleed:not(.om-bleed--flip) .om-bleed-body {
    padding-left: clamp(28px, 4vw, 72px);
    padding-right: max(40px, calc((100vw - 1180px) / 2 + 40px));
}

html body[class] .om-bleed-body > * {
    max-width: 52ch;
}

html body[class] .om-figure {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(3.6rem, 7vw, 6.4rem);
    line-height: 0.9;
    color: #C8B07C;
    display: block;
    margin: 0 0 18px;
}

html body[class] .om-quote blockquote {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: clamp(1.75rem, 3.4vw, 3rem);
    font-weight: 300;
    font-style: normal;
    line-height: 1.22;
    letter-spacing: -0.01em;
    color: #F4EFE5;
    margin: 0;
    max-width: 20ch;
    quotes: none;
}

html body[class] .om-quote-by {
    display: block;
    margin-top: 34px;
    padding-top: 18px;
    border-top: 1px solid rgba(200, 176, 124, 0.4);
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #C8B07C;
    max-width: 30ch;
}

html body[class] .om-ledger {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 72px;
    border-top: 1px solid rgba(200, 176, 124, 0.24);
}

html body[class] .om-ledger div {
    padding: 30px 32px 0 0;
    border-right: 1px solid rgba(200, 176, 124, 0.24);
}

html body[class] .om-ledger div:last-child {
    border-right: 0;
}

html body[class] .om-ledger strong {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1;
    color: #F4EFE5;
    margin-bottom: 10px;
}

html body[class] .om-ledger span {
    font-size: 0.92rem;
    line-height: 1.6;
    color: #9C9486;
}

html body[class] .om-journal {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: clamp(32px, 5vw, 80px);
    margin-top: 56px;
}

html body[class] .om-journal-lead img {
    display: block;
    width: 100%;
    height: clamp(280px, 34vh, 400px);
    object-fit: cover;
    border-radius: 0;
    margin-bottom: 26px;
    filter: saturate(0.9);
}

html body[class] .om-journal-meta {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #A8835C;
    margin-bottom: 10px;
}

html body[class] .om-journal-title {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-weight: 400;
    line-height: 1.15;
    color: #0E1417;
    margin: 0 0 10px;
}

html body[class] .om-journal-lead .om-journal-title {
    font-size: clamp(1.9rem, 3vw, 2.5rem);
}

html body[class] .om-journal-item {
    padding: 0 0 26px;
    margin-bottom: 26px;
    border-bottom: 1px solid #E3DCCE;
}

html body[class] .om-journal-item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
}

html body[class] .om-journal-item .om-journal-title {
    font-size: 1.35rem;
}

html body[class] .om-journal p {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #5D564B;
    margin: 0;
}

@media (max-width: 900px) {
    html body[class] .om-bleed {
        grid-template-columns: 1fr;
    }

    html body[class] .om-bleed--flip .om-bleed-media {
        order: 0;
    }

    html body[class] .om-bleed-media img {
        height: clamp(280px, 42vh, 400px);
    }

    /* Single column now, so match the container exactly on both edges. */
    html body[class] .om-bleed-body,
    html body[class] .om-bleed:not(.om-bleed--flip) .om-bleed-body {
        padding: 44px 28px 0;
    }

    html body[class] .om-quote blockquote {
        max-width: none;
    }

    html body[class] .om-ledger {
        grid-template-columns: 1fr;
    }

    html body[class] .om-ledger div {
        border-right: 0;
        border-bottom: 1px solid rgba(200, 176, 124, 0.24);
        padding: 26px 0;
    }

    html body[class] .om-ledger div:last-child {
        border-bottom: 0;
    }

    html body[class] .om-journal {
        grid-template-columns: 1fr;
    }
}

html body[class] .om-prov {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    column-gap: 72px;
    margin-top: 64px;
}

html body[class] .om-prov-rule {
    background: #D8D0C2;
}

html body[class] .om-prov-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid #0E1417;
    margin-bottom: 8px;
}

html body[class] .om-prov-country {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #0E1417;
}

html body[class] .om-prov-count {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    color: #A8835C;
}

html body[class] .om-prov-item {
    padding: 30px 0;
    border-bottom: 1px solid #E3DCCE;
}

html body[class] .om-prov-item:last-child {
    border-bottom: 0;
}

html body[class] .om-prov-place {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: clamp(1.6rem, 2.4vw, 2.1rem);
    font-weight: 400;
    line-height: 1.12;
    color: #0E1417;
    margin: 0 0 6px;
}

html body[class] .om-prov-where {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #A8835C;
    margin-bottom: 12px;
}

html body[class] .om-prov-note {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #5D564B;
    margin: 0;
    max-width: 44ch;
}

@media (max-width: 900px) {
    html body[class] .om-prov {
        grid-template-columns: 1fr;
        row-gap: 56px;
    }

    html body[class] .om-prov-rule {
        display: none;
    }
}

html body[class] .om-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

html body[class] .t-hero-full::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(200, 176, 124, 0.34);
}

html body[class] .t-hero-full h1 {
    color: #FBF8F2;
    font-weight: 300;
    letter-spacing: -0.014em;
    max-width: 18ch;
}

html body[class] .t-hero-full p {
    color: #E4DED2;
    font-size: 1.08rem;
    line-height: 1.72;
    max-width: 56ch;
}

html body[class] .t-hero-btns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 34px;
}

html body[class] .t-btn-primary,
html body[class] .t-btn-ghost,
html body[class] .t-btn-outline,
html body[class] .wp-block-button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    min-height: 52px;
    padding: 15px 34px;
    border-radius: 0;
    border-width: 1px;
    border-style: solid;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.28s ease, color 0.28s ease, border-color 0.28s ease;
}

html body[class] .t-btn-primary,
html body[class] .wp-block-button .wp-block-button__link {
    background: #0E1417;
    border-color: #0E1417;
    color: #F7F5F0;
}

html body[class] .t-btn-primary:hover,
html body[class] .wp-block-button .wp-block-button__link:hover {
    background: transparent;
    border-color: #0E1417;
    color: #0E1417;
}

html body[class] .t-btn-ghost,
html body[class] .t-btn-outline {
    background: transparent;
    border-color: #0E1417;
    color: #0E1417;
}

html body[class] .t-btn-ghost:hover,
html body[class] .t-btn-outline:hover {
    background: #0E1417;
    border-color: #0E1417;
    color: #F7F5F0;
}

html body[class] .t-hero-full .t-btn-primary {
    background: #F4EFE5;
    border-color: #F4EFE5;
    color: #0E1417;
}

html body[class] .t-hero-full .t-btn-primary:hover {
    background: transparent;
    border-color: #F4EFE5;
    color: #F4EFE5;
}

html body[class] .t-hero-full .t-btn-ghost {
    background: transparent;
    border-color: rgba(244, 239, 229, 0.55);
    color: #F4EFE5;
}

html body[class] .t-hero-full .t-btn-ghost:hover {
    background: #F4EFE5;
    border-color: #F4EFE5;
    color: #0E1417;
}

html body[class] .t-section--navy .t-btn-primary {
    background: #C8B07C;
    border-color: #C8B07C;
    color: #0E1417;
}

html body[class] .t-section--navy .t-btn-primary:hover {
    background: transparent;
    border-color: #C8B07C;
    color: #C8B07C;
}

html body[class] .t-section--navy .t-btn-ghost,
html body[class] .t-section--navy .t-btn-outline {
    background: transparent;
    border-color: rgba(200, 176, 124, 0.5);
    color: #E5DFD3;
}

html body[class] .t-section--navy .t-btn-ghost:hover,
html body[class] .t-section--navy .t-btn-outline:hover {
    background: #C8B07C;
    border-color: #C8B07C;
    color: #0E1417;
}

html body[class] .t-grid {
    display: grid;
    gap: 0;
    border-top: 1px solid #D8D0C2;
}

html body[class] .t-grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

html body[class] .t-section--navy .t-grid {
    border-top-color: rgba(200, 176, 124, 0.24);
}

html body[class] .t-card {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #D8D0C2;
    border-right: 1px solid #D8D0C2;
    border-radius: 0;
    box-shadow: none;
    padding: 40px 34px 44px;
    backdrop-filter: none;
    transition: background-color 0.3s ease;
}

html body[class] .t-grid--3 .t-card:nth-child(3n) {
    border-right: 0;
}

html body[class] .t-card:hover {
    background: rgba(200, 176, 124, 0.09);
}

html body[class] .t-section--navy .t-card {
    border-bottom-color: rgba(200, 176, 124, 0.24);
    border-right-color: rgba(200, 176, 124, 0.24);
}

html body[class] .t-section--navy .t-card:hover {
    background: rgba(200, 176, 124, 0.07);
}

html body[class] .t-card-title {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: 1.42rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.3;
    color: #0E1417;
    margin: 0 0 12px;
}

html body[class] .t-section--navy .t-card-title {
    color: #F4EFE5;
}

html body[class] .t-card-body {
    font-size: 0.98rem;
    line-height: 1.72;
    color: #5D564B;
    margin: 0;
    font-style: normal;
    quotes: none;
}

html body[class] .t-section--navy .t-card-body {
    color: #ADA595;
}

html body[class] .t-card-img {
    border-radius: 0;
    display: block;
    width: 100%;
    height: auto;
    filter: saturate(0.88) contrast(1.03);
}

html body[class] img {
    max-width: 100%;
}

/*
 * nimbus-base styles text inputs through
 *   input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"])
 * Each :not() counts as an attribute selector, so that is (0,4,1) and it beats
 * a plain html body[class] input[type="text"] at (0,2,3) - b is compared before
 * c. Matching the same chain is the only way past it without !important, and it
 * is why textareas took this styling while inputs did not.
 */
html body[class] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
html body[class] textarea,
html body[class] select {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #C6BCA9;
    border-radius: 0;
    padding: 12px 2px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 0.98rem;
    color: #0E1417;
    box-shadow: none;
    transition: border-color 0.25s ease;
}

html body[class] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus,
html body[class] textarea:focus,
html body[class] select:focus {
    border-bottom-color: #A8835C;
    box-shadow: none;
}

/* Must follow, and match, the :focus rule above or the keyboard ring is erased. */
html body[class] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus-visible,
html body[class] textarea:focus-visible,
html body[class] select:focus-visible {
    box-shadow: 0 0 0 2px #F7F5F0, 0 0 0 4px #A8835C;
}

html body[class] ::placeholder {
    color: #9A9184;
    letter-spacing: 0.02em;
}

html body[class] .fx-header {
    background: #F7F5F0;
    border-bottom: 1px solid #DED6C7;
    backdrop-filter: none;
    box-shadow: none;
}

html body[class] .fx-header-inner {
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
}

html body[class] .fx-logo-wordmark,
html body[class] .fx-logo-text {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: 23px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: lowercase;
    color: #0E1417;
}

html body[class] .fx-logo-dot {
    color: #A8835C;
}

html body[class] .fx-nav-list {
    gap: 34px;
}

html body[class] .fx-nav-link {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #0E1417;
    padding-bottom: 4px;
    border-bottom: 1px solid transparent;
    transition: border-color 0.25s ease, color 0.25s ease;
}

html body[class] .fx-nav-link:hover {
    color: #0E1417;
    border-bottom-color: #A8835C;
}

html body[class] .fx-nav-list > li {
    position: relative;
}

html body[class] .fx-nav-list > li.current-menu-item > .fx-nav-link,
html body[class] .fx-nav-list > li.current-menu-ancestor > .fx-nav-link,
html body[class] .fx-nav-list > li.current-page-ancestor > .fx-nav-link {
    background: transparent;
    color: #0E1417;
    border-bottom-color: #A8835C;
}

html body[class] .fx-nav-list .fx-sub-menu > li.current-menu-item > a,
html body[class] .fx-nav-list .sub-menu > li.current-menu-item > a {
    background: transparent;
    color: #0E1417;
}

html body[class] .fx-nav-list .fx-sub-menu,
html body[class] .fx-nav-list .sub-menu {
    position: absolute;
    top: 100%;
    left: -22px;
    min-width: 248px;
    list-style: none;
    margin: 0;
    padding: 14px 0;
    background: #F7F5F0;
    border: 1px solid #DED6C7;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    z-index: 60;
}

html body[class] .fx-nav-list > li:hover > .fx-sub-menu,
html body[class] .fx-nav-list > li:hover > .sub-menu,
html body[class] .fx-nav-list > li:focus-within > .fx-sub-menu,
html body[class] .fx-nav-list > li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

html body[class] .fx-nav-list .fx-sub-menu li,
html body[class] .fx-nav-list .sub-menu li {
    margin: 0;
}

html body[class] .fx-nav-list .fx-sub-menu a,
html body[class] .fx-nav-list .sub-menu a {
    display: block;
    padding: 10px 22px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #33302B;
    white-space: nowrap;
    border-bottom: 0;
}

html body[class] .fx-nav-list .fx-sub-menu a:hover,
html body[class] .fx-nav-list .sub-menu a:hover {
    background: rgba(200, 176, 124, 0.14);
    color: #0E1417;
}

html body[class] .fx-nav-cta {
    border-radius: 0;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

/*
 * Header search. The panel and its field are printed with inline styles by
 * fixit-core, so their background and border can only be reached through the
 * custom properties those inline values fall back to - scoped to this element,
 * not redefined globally.
 */
html body[class] .fx-nav-search-form {
    --color-bg: #F7F5F0;
    --color-content-border: #DED6C7;
    z-index: 40;
}

html body[class] .fx-nav-search-toggle {
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
    color: #0E1417;
}

html body[class] .fx-nav-search-toggle:hover {
    color: #A8835C;
}

/*
 * The submit button is a .t-btn-primary, and at the size this restyle gives
 * those - 52px tall, 34px of side padding, 0.2em tracking - it swallowed a
 * 390px row and left the field 26px wide. Compact inside the search form only.
 */
html body[class] .fx-nav-search-form .t-btn-primary {
    min-height: 44px;
    padding: 12px 18px;
    font-size: 10px;
    letter-spacing: 0.12em;
    width: auto;
    flex: 0 0 auto;
}

html body[class] .fx-nav-toggle span {
    background: #0E1417;
    border-radius: 0;
    height: 1px;
}

html body[class] .fx-nav-mobile {
    background: #F7F5F0;
    border-top: 1px solid #DED6C7;
}

html body[class].fx-nav-open .fx-nav-mobile,
html body[class] .fx-nav-mobile[aria-hidden="false"] {
    max-height: 78vh;
    overflow-y: auto;
}

html body[class] .fx-nav-mobile-list {
    padding: 8px 24px 28px;
    gap: 0;
}

html body[class] .fx-nav-mobile-list > li {
    border-bottom: 1px solid #E3DCCE;
}

html body[class] .fx-nav-mobile-list > li:last-child {
    border-bottom: 0;
}

html body[class] .fx-nav-mobile-list a {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #0E1417;
    border-radius: 0;
    padding: 15px 0;
}

html body[class] .fx-nav-mobile-list a:hover {
    background: transparent;
    color: #A8835C;
}

html body[class] .fx-nav-mobile-list > li.menu-item-has-children {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

html body[class] .fx-nav-mobile-list > li.menu-item-has-children > a {
    flex: 1 1 auto;
}

html body[class] .om-subnav-toggle {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    padding: 0;
    margin: 0;
    background: none;
    border: 0;
    cursor: pointer;
    position: relative;
}

html body[class] .om-subnav-toggle::before,
html body[class] .om-subnav-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 1px;
    background: #0E1417;
    transition: transform 0.28s ease;
}

html body[class] .om-subnav-toggle::before {
    transform: translate(-50%, -50%) rotate(90deg);
}

html body[class] .om-subnav-toggle::after {
    transform: translate(-50%, -50%);
}

html body[class] .fx-nav-mobile-list > li[data-om-open="true"] > .om-subnav-toggle::before {
    transform: translate(-50%, -50%) rotate(0deg);
}

html body[class] .fx-nav-mobile-list > li[data-om-open="true"] > .om-subnav-toggle::after {
    background: #A8835C;
}

html body[class] .fx-nav-mobile-list .sub-menu {
    flex: 0 0 100%;
    list-style: none;
    margin: 0;
    padding: 0 0 0 18px;
    border-left: 1px solid #E3DCCE;
    display: none;
}

html body[class] .fx-nav-mobile-list > li[data-om-open="true"] > .sub-menu {
    display: block;
    margin: 0 0 14px;
}

html body[class] .fx-nav-mobile-list .sub-menu a {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: none;
    color: #5D564B;
    padding: 9px 0;
}

html body[class] .fx-mega-menu {
    background: #F7F5F0;
    border: 1px solid #DED6C7;
    border-radius: 0;
    box-shadow: none;
}

html body[class] .fx-mega-list a {
    font-size: 12px;
    letter-spacing: 0.1em;
    color: #33302B;
}

html body[class] .fx-mega-list a:hover {
    color: #A8835C;
}

html body[class] .l-main {
    margin: 0;
    padding: 0;
}

html body[class] .l-section,
html body[class] .l-section-h {
    margin: 0;
    padding: 0;
}

html body[class] .t-footer,
html body[class] .t-rich-footer {
    background: #0E1417;
    color: #ADA595;
    margin-top: 0;
    padding-top: 96px;
    padding-bottom: 0;
    border-top: 1px solid rgba(200, 176, 124, 0.24);
}

html body[class] .t-rich-footer .t-container {
    max-width: 1180px;
}

html body[class] .t-rich-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 56px;
    padding-bottom: 72px;
}

html body[class] .t-rich-footer-col h3 {
    font-family: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
    font-size: 25px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: lowercase;
    color: #F4EFE5;
    margin: 0 0 16px;
}

html body[class] .t-rich-footer-col h4 {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #C8B07C;
    margin: 0 0 20px;
}

html body[class] .t-rich-footer-col p {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #9C9486;
}

html body[class] .t-rich-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

html body[class] .t-rich-footer-col li {
    margin-bottom: 11px;
    font-size: 0.93rem;
    line-height: 1.6;
    color: #9C9486;
}

html body[class] .t-rich-footer-col a,
html body[class] .t-footer-menu a {
    color: #C4BCAE;
    font-size: 0.93rem;
}

html body[class] .t-rich-footer-col a:hover,
html body[class] .t-footer-menu a:hover {
    color: #C8B07C;
}

html body[class] .fx-hours-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(200, 176, 124, 0.14);
    padding-bottom: 8px;
}

html body[class] .fx-hours-day {
    color: #9C9486;
}

html body[class] .fx-hours-time {
    color: #C4BCAE;
}

html body[class] .t-rich-footer-bottom,
html body[class] .t-rich-footer-legal {
    border-top: 1px solid rgba(200, 176, 124, 0.18);
    padding-top: 26px;
    padding-bottom: 30px;
    font-size: 0.84rem;
    letter-spacing: 0.04em;
    color: #7E776B;
}

html body[class] .t-rich-footer-social a,
html body[class] .fx-social-icon {
    color: #C4BCAE;
    border: 1px solid rgba(200, 176, 124, 0.3);
    border-radius: 0;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.25s ease, color 0.25s ease;
}

html body[class] .t-rich-footer-social a:hover,
html body[class] .fx-social-icon:hover {
    background: #C8B07C;
    color: #0E1417;
}

html body[class] .t-footer-newsletter input,
html body[class] .fx-newsletter input {
    background: transparent;
    border-bottom: 1px solid rgba(200, 176, 124, 0.34);
    color: #F4EFE5;
}

html body[class] .t-footer-newsletter ::placeholder,
html body[class] .fx-newsletter ::placeholder {
    color: #7E776B;
}

html body[class] .fx-fab:hover,
html body[class] .fx-fab-call:hover {
    background: #C8B07C;
    color: #0E1417;
}

@media (max-width: 1100px) {
    html body[class] .fx-nav {
        display: none;
    }

    html body[class] .fx-nav-toggle {
        display: flex;
    }

    html body[class] .fx-nav-mobile {
        display: block;
    }
}

@media (max-width: 1024px) {
    html body[class] .t-section {
        padding-top: 96px;
        padding-bottom: 96px;
    }

    html body[class] .t-container,
    html body[class] .fx-header-inner {
        padding-left: 28px;
        padding-right: 28px;
    }

    /* Keep the bleed text on the container's edge once that edge moves in. */
    html body[class] .om-bleed-body {
        padding-left: 28px;
    }

    html body[class] .om-bleed:not(.om-bleed--flip) .om-bleed-body {
        padding-left: clamp(24px, 3vw, 44px);
        padding-right: 28px;
    }

    html body[class] .t-grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }

    html body[class] .t-grid--3 .t-card:nth-child(3n) {
        border-right: 1px solid #D8D0C2;
    }

    html body[class] .t-grid--3 .t-card:nth-child(2n) {
        border-right: 0;
    }

    html body[class] .t-rich-footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 44px;
    }
}

@media (max-width: 900px) {
    html body[class] .t-section {
        padding-top: 76px;
        padding-bottom: 76px;
    }

    html body[class] .t-hero-full h1 {
        max-width: none;
    }
}

@media (max-width: 640px) {
    html body[class] {
        font-size: 16px;
    }

    /*
     * Logo, search, CTA and hamburger together run to 449px in a 390px header.
     * The CTA is the one that can go: Reservations sits in the drawer, and the
     * search and the hamburger cannot be reached any other way.
     */
    html body[class] .fx-nav-cta {
        display: none;
    }

    html body[class] .fx-nav-search-form {
        padding: 14px 22px;
    }

    html body[class] .fx-nav-search-form .t-btn-primary {
        padding: 12px 14px;
    }

    html body[class] .t-container,
    html body[class] .fx-header-inner {
        padding-left: 22px;
        padding-right: 22px;
    }

    html body[class] .om-bleed-body,
    html body[class] .om-bleed:not(.om-bleed--flip) .om-bleed-body {
        padding: 40px 22px 0;
    }

    html body[class] .t-section {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    html body[class] .t-grid--3 {
        grid-template-columns: 1fr;
    }

    html body[class] .t-grid--3 .t-card,
    html body[class] .t-grid--3 .t-card:nth-child(3n),
    html body[class] .t-grid--3 .t-card:nth-child(2n) {
        border-right: 0;
    }

    html body[class] .t-card {
        padding: 30px 0 34px;
    }

    html body[class] .t-btn-primary,
    html body[class] .t-btn-ghost,
    html body[class] .t-btn-outline {
        width: 100%;
    }


    html body[class] .t-rich-footer-grid {
        grid-template-columns: 1fr;
        gap: 38px;
        padding-bottom: 52px;
    }

    html body[class] .t-footer,
    html body[class] .t-rich-footer {
        padding-top: 64px;
    }
}
