/* Email Template Styles */
/* Reset styles for email clients */
body, table, td, p, a, li, blockquote {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

table, td {
    mso-table-lspace: 0pt;
    mso-table-rspace: 0pt;
}

img {
    -ms-interpolation-mode: bicubic;
    border: 0;
    height: auto;
    line-height: 100%;
    outline: none;
    text-decoration: none;
}

/* Main styles */
body {
    margin: 0;
    padding: 0;
    width: 100% !important;
    min-width: 100%;
    height: 100%;
    background-color: #f8f9fa;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: #333333;
}

.email-container {
    max-width: 600px;
    margin: 0 auto;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.email-header {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
    padding: 30px 20px;
    text-align: center;
    color: #ffffff;
}

.logo-container {
    margin-bottom: 20px;
}

.logo {
    max-width: 200px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.header-title {
    font-size: 28px;
    font-weight: 600;
    margin: 0;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.header-subtitle {
    font-size: 16px;
    margin: 10px 0 0 0;
    color: #ecf0f1;
    font-weight: 300;
}

.email-body {
    padding: 40px 30px;
}

.message-intro {
    font-size: 18px;
    color: #2c3e50;
    margin-bottom: 30px;
    font-weight: 500;
    text-align: center;
}

.contact-info {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 25px;
    margin: 25px 0;
    border-left: 4px solid #3498db;
}

.info-row {
    display: flex;
    margin-bottom: 15px;
    align-items: flex-start;
}

    .info-row:last-child {
        margin-bottom: 0;
    }

.info-label {
    font-weight: 600;
    color: #2c3e50;
    min-width: 120px;
    margin-right: 15px;
    font-size: 14px;
}

.info-value {
    color: #34495e;
    flex: 1;
    font-size: 14px;
    word-break: break-word;
}

.info-link {
    color: #3498db;
    text-decoration: none;
}

.message-content {
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 25px;
    margin: 25px 0;
}

.message-label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 15px;
    font-size: 16px;
}

.message-text {
    color: #34495e;
    line-height: 1.7;
    font-size: 15px;
    white-space: pre-wrap;
}

.email-footer {
    background-color: #2c3e50;
    color: #ffffff;
    padding: 30px;
    text-align: center;
}

.footer-logo {
    max-width: 150px;
    height: auto;
    margin-bottom: 20px;
}

.footer-text {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    color: #ecf0f1;
}

.footer-contact {
    margin-top: 20px;
    font-size: 13px;
    color: #bdc3c7;
}

    .footer-contact a {
        color: #3498db;
        text-decoration: none;
    }

        .footer-contact a:hover {
            text-decoration: underline;
        }

.timestamp {
    background-color: #e8f4fd;
    border-radius: 6px;
    padding: 15px;
    margin: 20px 0;
    text-align: center;
    font-size: 13px;
    color: #2c3e50;
}

/* Responsive design */
@media only screen and (max-width: 600px) {
    .email-container {
        margin: 0;
        border-radius: 0;
    }

    .email-body {
        padding: 30px 20px;
    }

    .info-row {
        flex-direction: column;
    }

    .info-label {
        margin-bottom: 5px;
        min-width: auto;
    }

    .header-title {
        font-size: 24px;
    }
}

/* End Email Template Styles */

/* Custom H4 class with Inter font family */
.h4-inter {
    font-family: "Inter", sans-serif;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 60px;
}

.h4-inter-subtitle {
    font-family: "Inter", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 60px;
}

/* Logo Centering Fix - Remove problematic CSS */
@media only screen and (max-width: 1024px) {
    #header .logo-wrapper.--type {
        /* Remove the problematic positioning */
        right: auto !important;
        transform: none !important;
        margin-left: 0 !important;
        /* Center the logo properly */
        left: 50% !important;
        transform: translateX(-50%) !important;
        position: absolute !important;
        z-index: 10;
    }
}

/* Additional mobile fixes */
@media (max-width: 768px) {
    #header .logo-wrapper.--type {
        width: 16.5rem !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        margin-left: 0 !important;
        position: absolute !important;
        z-index: 10;
    }

    #header .container {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }

    #header .mainNav-wrapper {
        position: absolute;
        right: 0;
        z-index: 5;
    }

    #header .langNav {
        position: absolute;
        left: 0;
        z-index: 5;
    }
}

/* Additional mobile fixes */
@media (max-width: 768px) {
    #header .logo-wrapper img {
        padding: 10px;
    }
}

/* Increased margin between header and main content - only for tablets and mobile */
@media (max-width: 1024px) {
    main.content {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
        margin-top: 20vh !important; /* 20% margin on tablets */
    }
}

@media (max-width: 768px) {
    main.content {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
        margin-top: 25vh !important; /* 25% margin on mobile */
    }
}

@media (max-width: 480px) {
    main.content {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        margin-top: 16vh !important; /* 30% margin on small mobile */
    }
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
main,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    border: 0;
    margin: 0;
    padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
    display: block;
}

[hidden] {
    display: none;
}

menu,
ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: "";
        content: none;
    }

img,
legend {
    border: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
video {
    display: inline-block;
}

    audio:not([controls]) {
        height: 0;
        display: none;
    }

[hidden],
template {
    display: none;
}

html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-family: sans-serif;
}

body,
figure {
    margin: 0;
}

a {
    background: 0 0;
}

    a:focus {
        outline: thin dotted;
    }

    a:active,
    a:hover {
        outline: 0;
    }

abbr[title] {
    border-bottom: 1px dotted;
}

dfn {
    font-style: italic;
}

hr {
    box-sizing: content-box;
    height: 0;
}

mark {
    color: #000;
    background: #ff0;
}

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

pre {
    white-space: pre-wrap;
}

q {
    quotes: "“" "”" "‘" "’";
}

small {
    font-size: 80%;
}

sub,
sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

svg:not(:root) {
    overflow: hidden;
}

legend {
    padding: 0;
}

button,
input,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: 100%;
}

button,
input {
    line-height: normal;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

    button[disabled],
    html input[disabled] {
        cursor: default;
    }

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}

    input[type="search"]::-webkit-search-cancel-button {
        -webkit-appearance: none;
    }

    input[type="search"]::-webkit-search-decoration {
        -webkit-appearance: none;
    }

button::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    vertical-align: top;
    overflow: auto;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html,
body {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
}

body {
    line-height: inherit;
}

*,
:after,
:before {
    box-sizing: inherit;
}

:root {
    overscroll-behavior: none;
}

::selection {
    text-shadow: none;
    background: #3298fd;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

:focus:not(:focus-visible) {
    outline: 0;
}

button {
    color: inherit;
    cursor: pointer;
    background: 0 0;
    border: none;
    padding: 0;
}

#footer .logo-wrapper img,
#header .logo-wrapper img,
.img-holder > img,
.img-holder > picture,
.img-holder > picture img,
.img-holder > video,
.img-holder > iframe {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

@font-face {
    font-family: Arial Fallback Larken;
    src: local(Arial);
    size-adjust: 98%;
    ascent-override: 96%;
    descent-override: 36%;
    line-gap-override: 4%;
}

body {
    font-kerning: normal;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    font-family: "Inter", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.like-heading {
    /*text-transform: uppercase;*/
    text-wrap: balance;
    font-family: "Birthstone", cursive;
    font-weight: 300;
}

h1 {
    max-width: 22ch;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
.like-heading {
    overflow-wrap: break-word;
}

.navigation-sub {
    font-size: 2rem;
}

.cursive {
    text-transform: none;
    text-wrap: balance;
    font-family: "Birthstone", cursive;
    font-size: 1.5625rem;
    font-weight: 400;
    line-height: 1.15;
}

@media (min-width: 1920px) {
    .cursive {
        font-size: 3.65214rem;
        line-height: 1.15;
    }
}

.like-body {
    font-size: 2em;
}

html {
    font-size: 93.75%;
    line-height: 1.35;
}

@media (min-width: 360px) {
    html {
        font-size: 100%;
    }
}

@media (min-width: 412px) {
    html {
        font-size: 106.25%;
    }
}

@media (min-width: 1440px) {
    html {
        font-size: 112.5%;
    }
}

@media (min-width: 1600px) {
    html {
        font-size: 118.75%;
    }
}

@media (min-width: 1920px) {
    html {
        font-size: 125%;
    }
}

@media (min-width: 2320px) {
    html {
        font-size: 137.5%;
    }
}

.like-cta {
    font-size: 3.05176rem;
    line-height: 1;
}

@media (min-width: 600px) {
    .like-cta {
        font-size: 3.8147rem;
        line-height: 1;
    }
}

@media (min-width: 768px) {
    .like-cta {
        font-size: 4.76837rem;
        line-height: 1;
    }
}

@media (min-width: 1280px) {
    .like-cta {
        font-size: 5.96046rem;
        line-height: 1;
    }
}

@media (min-width: 1920px) {
    .like-cta {
        font-size: 7.45058rem;
        line-height: 1;
    }
}

.like-hero {
    font-size: 2.44141rem;
    line-height: 1.025;
}

@media (min-width: 600px) {
    .like-hero {
        font-size: 3.05176rem;
        line-height: 1.025;
    }
}

@media (min-width: 1280px) {
    .like-hero {
        font-size: 3.8147rem;
        line-height: 1.025;
    }
}

@media (min-width: 2320px) {
    .like-hero {
        font-size: 4.76837rem;
        line-height: 1.025;
    }
}

h1,
.like-h1 {
    font-size: 3.05176rem;
    line-height: 1;
}

@media (min-width: 600px) {
    h1,
    .like-h1 {
        font-size: 3.8147rem;
        line-height: 1;
    }
}

@media (min-width: 1280px) {
    h1,
    .like-h1 {
        font-size: 4rem;
        line-height: 1;
    }
}

h2,
.like-h2 {
    font-size: 2.44141rem;
    line-height: 1.025;
}

@media (min-width: 600px) {
    h2,
    .like-h2 {
        font-size: 3.05176rem;
        line-height: 1.025;
    }
}

@media (min-width: 1280px) {
    h2,
    .like-h2 {
        font-size: 3.8147rem;
        line-height: 1.025;
    }
}

h3,
.like-h3,
h4,
.like-h4 {
    font-size: 1.95313rem;
    line-height: 1.075;
}

@media (min-width: 1920px) {
    h3,
    .like-h3,
    h4,
    .like-h4 {
        font-size: 2.44141rem;
        line-height: 1.075;
    }
}

.tagline {
    text-transform: uppercase;
    letter-spacing: 0.01em;
    margin-bottom: 0.675rem;
    font-family: "Inter", sans-serif;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.2;
    display: block;
}

.leadP {
    letter-spacing: -0.0125em;
    font-size: 1.25rem;
}

@media (min-width: 600px) {
    .leadP {
        font-size: 1.5625rem;
    }
}

@media (min-width: 1280px) {
    .leadP {
        font-size: 1.95313rem;
    }
}

figure figcaption,
small,
.like-small {
    font-size: 0.8rem;
}

article ol,
article ul,
.txt-area ol,
.txt-area ul {
    margin: 1.35rem 0 1.35rem 1.6875rem;
    padding-left: 0;
    list-style: none;
}

    article ol li,
    article ul li,
    .txt-area ol li,
    .txt-area ul li {
        margin-bottom: 0.25em;
    }

        article ol li:last-child,
        article ul li:last-child,
        .txt-area ol li:last-child,
        .txt-area ul li:last-child {
            margin-bottom: 0;
        }

article ol,
.txt-area ol {
    list-style: inside decimal;
}

article ul,
.txt-area ul {
    list-style: outside;
}

@media only screen and (min-width: 768px) {
    article ol,
    article ul,
    .txt-area ol,
    .txt-area ul {
        margin-left: 2.7rem;
        padding-left: 0;
        list-style-position: outside;
    }
}

article b,
article strong,
.txt-area b,
.txt-area strong {
    font-weight: 700;
}

article em,
article i,
.txt-area em,
.txt-area i {
    font-style: italic;
}

article p,
.txt-area p {
    text-wrap: pretty;
}

.txt-area,
.txt-area li,
figcaption {
    max-width: 65ch;
}

.btn-wrapper .btn-clear:only-child {
    padding-left: 0;
    padding-right: 0;
}

article p + p,
.txt-area p + p {
    margin-top: 1.35rem;
}

article .tagline,
.article-wrapper .tagline {
    margin-bottom: 0.675rem;
}

article h1 + .txt-area,
article h2 + .txt-area,
article h3 + .txt-area,
article h4 + .txt-area,
article h5 + .txt-area,
article h6 + .txt-area,
.article-wrapper h1 + .txt-area,
.article-wrapper h2 + .txt-area,
.article-wrapper h3 + .txt-area,
.article-wrapper h4 + .txt-area,
.article-wrapper h5 + .txt-area,
.article-wrapper h6 + .txt-area {
    margin-top: 2.025rem;
}

article .txt-area * + h2,
article .txt-area * + h3,
article .txt-area * + h4,
article .txt-area * + h5,
article .txt-area * + h6,
.article-wrapper .txt-area * + h2,
.article-wrapper .txt-area * + h3,
.article-wrapper .txt-area * + h4,
.article-wrapper .txt-area * + h5,
.article-wrapper .txt-area * + h6 {
    margin-top: 3.375rem;
}

article .btn-wrapper,
.article-wrapper .btn-wrapper {
    margin-top: 2.025rem;
}

.btn-wrapper .btn:not(:last-child),
.btn-wrapper .btn-clear:not(:last-child) {
    margin-right: 1.35rem;
}

blockquote p {
    hanging-punctuation: first;
}

.container {
    width: calc(100vw - 3rem);
    max-width: 2560px;
    margin-inline: auto;
    position: relative;
    container: container/inline-size;
}

@media only screen and (min-width: 768px) {
    .container {
        width: calc(100vw - 6rem);
    }
}

@media only screen and (min-width: 1920px) {
    .container {
        width: calc(100vw - 9rem);
    }
}

.hidden {
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    overflow: hidden;
    position: absolute !important;
}

.clearfix:after {
    content: "";
    clear: both;
    display: table;
}

.clear {
    clear: both;
}

.mt0 {
    margin-top: 1.35rem;
}

.mb0 {
    margin-bottom: 1.35rem;
}

.my0 {
    margin-top: 1.35rem;
    margin-bottom: 1.35rem;
}

.mt1 {
    margin-top: 2.025rem;
}

.mb1 {
    margin-bottom: 2.025rem;
}

.my1 {
    margin-top: 2.025rem;
    margin-bottom: 2.025rem;
}

.mt2 {
    margin-top: 4.05rem;
}

.mb2 {
    margin-bottom: 4.05rem;
}

.my2 {
    margin-top: 4.05rem;
    margin-bottom: 4.05rem;
}

.mt3 {
    margin-top: 5.4rem;
}

.mb3 {
    margin-bottom: 5.4rem;
}

.my3 {
    margin-top: 5.4rem;
    margin-bottom: 5.4rem;
}

.mt4 {
    margin-top: 6.75rem;
}

.mb4 {
    margin-bottom: 6.75rem;
}

.my4 {
    margin-top: 6.75rem;
    margin-bottom: 6.75rem;
}

.ml-auto {
    margin-left: auto;
}

.mr-auto {
    margin-right: auto;
}

.mx-auto {
    margin-inline: auto;
}

@media only screen and (min-width: 600px) {
    .mt1 {
        margin-top: 2.7rem;
    }

    .mb1 {
        margin-bottom: 2.7rem;
    }

    .ml1 {
        margin-left: 2.7rem;
    }

    .my1 {
        margin-top: 2.7rem;
        margin-bottom: 2.7rem;
    }

    .mt2 {
        margin-top: 5.4rem;
    }

    .mb2 {
        margin-bottom: 5.4rem;
    }

    .my2 {
        margin-top: 5.4rem;
        margin-bottom: 5.4rem;
    }

    .mt3 {
        margin-top: 6.75rem;
    }

    .mb3 {
        margin-bottom: 6.75rem;
    }

    .my3 {
        margin-top: 6.75rem;
        margin-bottom: 6.75rem;
    }

    .mt4 {
        margin-top: 8.1rem;
    }

    .mb4 {
        margin-bottom: 8.1rem;
    }

    .my4 {
        margin-top: 8.1rem;
        margin-bottom: 8.1rem;
    }
}

@media only screen and (min-width: 1280px) {
    .mt1 {
        margin-top: 2.7rem;
    }

    .mb1 {
        margin-bottom: 2.7rem;
    }

    .my1 {
        margin-top: 2.7rem;
        margin-bottom: 2.7rem;
    }

    .mt2 {
        margin-top: 5.4rem;
    }

    .mb2 {
        margin-bottom: 5.4rem;
    }

    .my2 {
        margin-top: 5.4rem;
        margin-bottom: 5.4rem;
    }

    .mt3 {
        margin-top: 6.75rem;
    }

    .mb3 {
        margin-bottom: 6.75rem;
    }

    .my3 {
        margin-top: 6.75rem;
        margin-bottom: 6.75rem;
    }

    .mt4 {
        margin-top: 9.45rem;
    }

    .mb4 {
        margin-bottom: 9.45rem;
    }

    .my4 {
        margin-top: 9.45rem;
        margin-bottom: 9.45rem;
    }
}

@media only screen and (min-width: 1600px) {
    .mt1 {
        margin-top: 4.05rem;
    }

    .mb1 {
        margin-bottom: 4.05rem;
    }

    .my1 {
        margin-top: 4.05rem;
        margin-bottom: 4.05rem;
    }

    .mt2 {
        margin-top: 6.75rem;
    }

    .mb2 {
        margin-bottom: 6.75rem;
    }

    .my2 {
        margin-top: 6.75rem;
        margin-bottom: 6.75rem;
    }

    .mt3 {
        margin-top: 8.1rem;
    }

    .mb3 {
        margin-bottom: 8.1rem;
    }

    .my3 {
        margin-top: 8.1rem;
        margin-bottom: 8.1rem;
    }

    .mt4 {
        margin-top: 9.45rem;
    }

    .mb4 {
        margin-bottom: 9.45rem;
    }

    .my4 {
        margin-top: 9.45rem;
        margin-bottom: 9.45rem;
    }
}

.pt0 {
    padding-top: 1.35rem;
}

.pt1 {
    padding-top: 2.025rem;
}

.pb1 {
    padding-bottom: 2.025rem;
}

.py1 {
    padding-top: 2.025rem;
    padding-bottom: 2.025rem;
}

.pt2 {
    padding-top: 4.05rem;
}

.pb2 {
    padding-bottom: 4.05rem;
}

.py2 {
    padding-top: 4.05rem;
    padding-bottom: 4.05rem;
}

.pt3 {
    padding-top: 5.4rem;
}

.pb3 {
    padding-bottom: 5.4rem;
}

.py3 {
    padding-top: 5.4rem;
    padding-bottom: 5.4rem;
}

.pt4 {
    padding-top: 6.75rem;
}

.pb4 {
    padding-bottom: 6.75rem;
}

.py4 {
    padding-top: 6.75rem;
    padding-bottom: 6.75rem;
}

@media only screen and (min-width: 600px) {
    .pt1 {
        padding-top: 2.7rem;
    }

    .pb1 {
        padding-bottom: 2.7rem;
    }

    .py1 {
        padding-top: 2.7rem;
        padding-bottom: 2.7rem;
    }

    .pt2 {
        padding-top: 5.4rem;
    }

    .pb2 {
        padding-bottom: 5.4rem;
    }

    .py2 {
        padding-top: 5.4rem;
        padding-bottom: 5.4rem;
    }

    .pt3 {
        padding-top: 6.75rem;
    }

    .pb3 {
        padding-bottom: 6.75rem;
    }

    .py3 {
        padding-top: 6.75rem;
        padding-bottom: 6.75rem;
    }

    .pt4 {
        padding-top: 8.1rem;
    }

    .pb4 {
        padding-bottom: 8.1rem;
    }

    .py4 {
        padding-top: 8.1rem;
        padding-bottom: 8.1rem;
    }
}

@media only screen and (min-width: 1280px) {
    .pt1 {
        padding-top: 2.7rem;
    }

    .pb1 {
        padding-bottom: 2.7rem;
    }

    .py1 {
        padding-top: 2.7rem;
        padding-bottom: 2.7rem;
    }

    .pt2 {
        padding-top: 5.4rem;
    }

    .pb2 {
        padding-bottom: 5.4rem;
    }

    .py2 {
        padding-top: 5.4rem;
        padding-bottom: 5.4rem;
    }

    .pt3 {
        padding-top: 6.75rem;
    }

    .pb3 {
        padding-bottom: 6.75rem;
    }

    .py3 {
        padding-top: 6.75rem;
        padding-bottom: 6.75rem;
    }

    .pt4 {
        padding-top: 9.45rem;
    }

    .pb4 {
        padding-bottom: 9.45rem;
    }

    .py4 {
        padding-top: 9.45rem;
        padding-bottom: 9.45rem;
    }
}

@media only screen and (min-width: 1600px) {
    .pt1 {
        padding-top: 4.05rem;
    }

    .pb1 {
        padding-bottom: 4.05rem;
    }

    .py1 {
        padding-top: 4.05rem;
        padding-bottom: 4.05rem;
    }

    .pt2 {
        padding-top: 6.75rem;
    }

    .pb2 {
        padding-bottom: 6.75rem;
    }

    .py2 {
        padding-top: 6.75rem;
        padding-bottom: 6.75rem;
    }

    .pt3 {
        padding-top: 8.1rem;
    }

    .pb3 {
        padding-bottom: 3rem;
    }

    .py3 {
        padding-top: 8.1rem;
        padding-bottom: 8.1rem;
    }

    .pt4 {
        padding-top: 9.45rem;
    }

    .pb4 {
        padding-bottom: 9.45rem;
    }

    .py4 {
        padding-top: 9.45rem;
        padding-bottom: 9.45rem;
    }
}

img {
    width: 100%;
    display: block;
}

    img.original-size {
        width: auto;
        max-width: 100%;
    }

.txt-area img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.img-holder {
    position: relative;
    overflow: hidden;
}

.blur-up {
    filter: blur(5px);
    transition: filter 0.4s;
}

    .blur-up.loaded {
        filter: blur();
    }

.btn,
.btn-clear,
.btn-outline {
    font-size: 0.8rem;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

    a:is(:hover, :focus) {
        color: #bb974e;
    }

    a:focus:not(:focus-visible) {
        outline: none;
    }

article a,
.txt-area a {
    color: #bb974e;
    -webkit-text-decoration: underline #0000;
    text-decoration: underline #0000;
    text-decoration-thickness: 1.5px;
    transition: color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95), text-decoration-color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

    article a:is(:hover, :focus),
    .txt-area a:is(:hover, :focus) {
        color: #b08c45;
        text-decoration-color: #b08c45;
    }

    article a:visited,
    .txt-area a:visited {
        opacity: 0.8;
    }

.btn,
.btn-clear,
.btn-outline {
    vertical-align: middle;
    text-align: center;
    height: auto;
    color: inherit;
    letter-spacing: 0.01em;
    -webkit-appearance: none;
    margin: 0;
    padding: 0.9em 1.2em;
    font-family: inherit;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95), color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95), border-color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    display: inline-block;
}

    .btn:focus:not(:focus-visible),
    .btn-clear:focus:not(:focus-visible),
    .btn-outline:focus:not(:focus-visible) {
        outline: none;
    }

.btn-clear {
    text-transform: uppercase;
    text-align: left;
    justify-content: space-between;
    min-width: 20ch;
    padding-left: 0;
    padding-right: 0;
    display: inline-flex;
    position: relative;
    color: #24262b !important;
}

    .btn-clear:before,
    .btn-clear:after {
        content: "";
        background: #24262b;
        height: 1.5px;
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
    }

    .btn-clear:before {
        transform-origin: 0;
        transform: scaleX(1);
    }

    .btn-clear:after {
        transform-origin: 100%;
        transform: scaleX(0);
    }

    .btn-clear svg {
        margin-left: 1em;
        margin-right: 0;
        top: 0;
        overflow: hidden;
    }

        .btn-clear svg polygon {
            transition: transform 0.65s cubic-bezier(0.785, 0.135, 0.15, 0.86);
        }

            .btn-clear svg polygon:first-child {
                transition-delay: 0.15s;
            }

            .btn-clear svg polygon:last-child {
                transition-delay: 0;
                transform: translate(-100%);
            }

    .btn-clear:is(:hover, :focus) {
        text-decoration: none;
    }

        .btn-clear:is(:hover, :focus) svg {
            margin-left: 1em;
            margin-right: 0;
            top: 0;
            overflow: hidden;
        }

            .btn-clear:is(:hover, :focus) svg polygon:first-child {
                transition-delay: 0;
                transform: translate(100%);
            }

            .btn-clear:is(:hover, :focus) svg polygon:last-child {
                transition-delay: 0.3s;
                transform: translate(0);
            }

        .btn-clear:is(:hover, :focus):before {
            transform-origin: 100%;
            transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
            transition-delay: 0;
            transform: scaleX(0);
        }

        .btn-clear:is(:hover, :focus):after {
            transform-origin: 0;
            transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.25s;
            transform: scaleX(1);
        }

    .btn-clear.--back svg {
        transform: scaleX(-1);
    }

.btn {
    border: 1px solid #0000;
    border-radius: 0.25em;
    color: #eee9e2 !important;
    background-color: #bb974e !important;
}

    .btn:is(:hover, :focus) {
        background-color: #9b7b3b !important;
    }

.btn-outline {
    border: 1px solid #bb974e;
    border-radius: 0.25em;
    color: #bb974e !important;
}

    .btn-outline:is(:hover, :focus) {
        border: 1px solid #bb974e;
        color: #eee9e2 !important;
        background-color: #bb974e !important;
    }

    .btn-outline:active {
        border: inherit;
    }

.nc-icon {
    color: #24262b;
    width: 1.5rem;
    height: 1.5rem;
    display: inline-block;
}

    .nc-icon use {
        fill: inherit;
    }

    .nc-icon.nc-icon-outline use {
        stroke: inherit;
    }

.nc-align-to-text {
    vertical-align: middle;
    stroke: none;
    fill: none;
    width: 1em;
    height: 1em;
    color: inherit;
    margin-right: 0.5em;
    display: inline-block;
    position: relative;
    top: -0.0625em;
}

    .nc-align-to-text use {
        color: inherit;
    }

.nc-icon,
.nc-align-to-text {
    fill: currentColor;
    stroke: none;
}

    .nc-icon.nc-icon-outline,
    .nc-align-to-text.nc-icon-outline {
        fill: none;
        stroke: currentColor;
    }

    .nc-icon use {
        stroke: none;
    }

    .nc-icon.nc-icon-outline use {
        fill: none;
    }

    .nc-icon.nc-icon-outline,
    .nc-align-to-text.nc-icon-outline {
        stroke-width: 3px;
    }

        .nc-icon.nc-icon-outline use,
        .nc-align-to-text.nc-icon-outline use {
            transform: translate(0.5px) translateY(0.5px);
        }

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
    font-weight: 400;
    font-style: normal;
}

:root {
    --swiper-theme-color: #007aff;
}

:host {
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    display: block;
    position: relative;
}

.swiper {
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    list-style: none;
    display: block;
    position: relative;
    overflow: hidden;
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}

.swiper-wrapper {
    z-index: 1;
    width: 100%;
    height: 100%;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
    display: flex;
    position: relative;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate(0, 0);
}

.swiper-horizontal {
    touch-action: pan-y;
}

.swiper-vertical {
    touch-action: pan-x;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    transition-property: transform;
    display: block;
    position: relative;
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto;
}

    .swiper-autoheight .swiper-wrapper {
        align-items: flex-start;
        transition-property: transform, height;
    }

.swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0);
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
}

.swiper-3d {
    perspective: 1200px;
}

    .swiper-3d .swiper-slide,
    .swiper-3d .swiper-cube-shadow {
        transform-style: preserve-3d;
    }

.swiper-css-mode > .swiper-wrapper {
    scrollbar-width: none;
    -ms-overflow-style: none;
    overflow: auto;
}

    .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
        display: none;
    }

    .swiper-css-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: start start;
    }

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
}

    .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: none;
    }

.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    pointer-events: none;
    z-index: 10;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026;
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, #00000080, #0000);
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, #00000080, #0000);
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(#0000, #00000080);
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(#00000080, #0000);
}

.swiper-lazy-preloader {
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-top-color: #0000;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    margin-left: -21px;
    position: absolute;
    top: 50%;
    left: 50%;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: 1s linear infinite swiper-preloader-spin;
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
}

    .swiper-fade .swiper-slide .swiper-slide {
        pointer-events: none;
    }

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

[id] {
    scroll-margin-top: 2rem;
}

::selection {
    color: #eee9e2;
    background: #ac9376;
}

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

    .lenis.lenis-smooth [data-lenis-prevent] {
        overscroll-behavior: contain;
    }

.lenis.lenis-stopped {
    overflow: clip;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

body {
    color: #24262b;
    background: #eee9e2;
}

.content {
    overflow-x: clip;
}

    .content > * {
        z-index: 2;
        position: relative;
    }

.page-inner {
    padding-top: 6.9rem;
}

@media only screen and (min-width: 600px) {
    .page-inner {
        padding-top: 7.575rem;
    }
}

@media only screen and (min-width: 768px) {
    .page-inner {
        padding-top: 9.075rem;
    }
}

@media only screen and (min-width: 1920px) {
    .page-inner {
        padding-top: 11.25rem;
    }
}

#hero-text {
    visibility: hidden;
}

.tagline,
.cursive {
    color: #bb974e;
}

.--section-title {
    max-width: 20ch;
}

.--radius {
    border-radius: 0.44rem;
}

.break-top,
.break-bottom {
    position: relative;
}

    .break-top:after,
    .break-bottom:after {
        content: "";
        display: block;
        position: absolute;
        left: -1.5rem;
        right: -1.5rem;
    }

@media only screen and (min-width: 768px) {
    .break-top:after,
    .break-bottom:after {
        left: -3rem;
        right: -3rem;
    }
}

@media only screen and (min-width: 1920px) {
    .break-top:after,
    .break-bottom:after {
        left: -4.5rem;
        right: -4.5rem;
    }
}

.break-top:after {
    border-bottom: 1px solid #dacfc1;
    top: 0;
}

.cursive-holder {
    max-width: 30rem;
}

    .cursive-holder .inline-box {
        display: inline;
    }

    .cursive-holder .like-h1 {
        max-width: 14ch;
        display: inline;
    }

        .cursive-holder .like-h1 .line {
            display: inline-block !important;
        }

    .cursive-holder .cursive {
        -webkit-hyphens: auto;
        hyphens: auto;
        max-width: 20ch;
        margin-left: auto;
        display: inline-block;
        transform: translate(1rem, -0.33em) rotate(-6deg);
    }

    .cursive-holder:not(:has(.cursive)) {
        max-width: none;
    }

        .cursive-holder:not(:has(.cursive)) h2 {
            max-width: 16ch;
            display: block;
        }

@media only screen and (min-width: 600px) {
    .cursive-holder .cursive {
        transform: translate(5rem, -0.75em) rotate(-6deg);
    }
}

@media only screen and (min-width: 1440px) {
    .cursive-holder {
        max-width: 34rem;
    }

        .cursive-holder .cursive {
            transform: translate(10rem, -1em) rotate(-6deg);
        }
}

.btn-wrapper {
    margin-top: 1.6875rem;
}

.swiper-wrapper {
    transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.swiper-nav {
    margin-top: 2.7rem;
}

    .swiper-nav:has(.swiper-arrows .swiper-button-disabled:first-child):has(.swiper-arrows .swiper-button-disabled:nth-child(2)) {
        display: none;
    }

.swiper-arrows {
    align-items: center;
    gap: 0.75rem;
    display: flex;
}

.swiper-button-prev,
.swiper-button-next {
    cursor: pointer;
    transition: color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

    .swiper-button-prev svg,
    .swiper-button-next svg {
        width: 1.25rem;
        height: 1.25rem;
        color: inherit;
    }

    .swiper-button-prev.swiper-button-disabled,
    .swiper-button-next.swiper-button-disabled {
        pointer-events: none;
    }

    .swiper-button-prev:hover,
    .swiper-button-next:hover {
        color: #bb974e;
    }

    .swiper-button-prev svg {
        transform: scaleX(-1);
    }

.swiper-scrollbar {
    background: #dacfc1;
    border-radius: 2px;
    height: 1.5px;
}

.swiper-scrollbar-drag {
    background: #ac9376;
    border-radius: 2px;
    height: 100%;
}

@media only screen and (max-width: 1023px) {
    .swiper-arrows {
        display: none;
    }
}

@media only screen and (min-width: 1024px) {
    .swiper-nav {
        align-items: center;
        gap: 1.25rem;
        display: flex;
    }

        .swiper-nav .swiper-scrollbar {
            width: 100%;
        }
}

.cta-inline {
    text-align: center;
}

    .cta-inline a {
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        display: inline-block;
    }

    .cta-inline svg {
        color: #bb974e;
        margin-inline: auto;
        width: 1rem;
        height: 2.2rem;
        margin-top: 0.675rem;
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        display: block;
        transform: rotate(-90deg);
    }

    .cta-inline .like-cta {
        margin-bottom: 0.3375rem;
    }

    .cta-inline p {
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

        .cta-inline p:not(.like-cta) {
            max-width: 32ch;
            margin: 0 auto;
        }

    .cta-inline a:is(:hover, :focus) {
        color: #24262b;
    }

        .cta-inline a:is(:hover, :focus) .like-cta {
            letter-spacing: 0.03em;
            transform: scaleX(1.025);
        }

        .cta-inline a:is(:hover, :focus) svg {
            transform: rotate(-90deg) scale(1.1);
        }

    .cta-inline a:active {
        transform: scale(0.975);
    }

@media only screen and (max-width: 767px) {
    .cta-inline p:not(.like-cta) {
        font-size: 0.8em;
    }
}

@media only screen and (min-width: 600px) {
    .cta-inline p:not(.like-cta) {
        font-size: 0.8em;
    }
}

@media only screen and (min-width: 1024px) {
    .cta-inline p:not(.like-cta) {
        max-width: 50ch;
        font-size: 0.883rem;
    }
}

@media only screen and (min-width: 1920px) {
    .cta-inline p:not(.like-cta) {
        font-size: 1rem;
    }
}

.no-records {
    max-width: 50ch;
}

#header {
    z-index: 3;
    width: 100%;
    padding-top: 1.5rem;
    position: absolute;
    top: 0;
}

    #header .logo-wrapper {
        display: block;
        position: relative;
    }

        #header .logo-wrapper img {
            background: #eee9e2;
            border-radius: 50%;
            padding: 30px;
            /*transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);*/
        }

        #header .logo-wrapper.--full {
            aspect-ratio: 400/400;
        }

        #header .logo-wrapper.--type {
            aspect-ratio: 268/268;
            width: 10.5rem;
            margin-left: auto;
            position: absolute;
            top: 0;
            right: 0;
            /*transform: translateY(-22.5%);*/
        }

    #header .langNav,
    #header .mainM-bottom,
    #header .mainNav-wrapper {
        display: none;
    }

@media only screen and (max-width: 1023px) {
    #header .logo-wrapper.--full {
        width: 12rem;
        margin: 0 auto;
        /*transform: translate(7.5%, -0.75rem);*/
    }

        #header .logo-wrapper.--full img {
            /*filter: drop-shadow(0 0 7.5rem #fff);*/
            padding: 10px;
            margin-top: 20%;
        }
}

@media only screen and (min-width: 600px) {
    #header .logo-wrapper.--full {
        width: 14rem;
    }
}

@media only screen and (min-width: 768px) {
    #header {
        padding-top: 3rem;
    }

        #header .logo-wrapper.--full {
            transform: translate(7.5%, -2rem);
        }
}

@media only screen and (min-width: 1024px) {
    #header .logo-wrapper.--full {
        transform: translate(-7%, 25%);
    }

    #header .logo-wrapper.--type {
        right: 50%;
        transform: translate(50%, -22.5%);
    }
}

@media only screen and (min-width: 1280px) {
    #header .logo-wrapper.--full {
        width: calc(22.5vw - 1.35rem);
        transform: translate(-1%, 25%);
    }
}

@media only screen and (min-width: 1920px) {
    #header .logo-wrapper.--full {
        width: calc(18.5vw - 1.665rem);
        transform: translate(7.5%, 25%);
    }
}

@media only screen and (min-width: 2320px) {
    #header .logo-wrapper.--full {
        width: 16rem;
        transform: translate(13.5%, 25%);
    }
}

@media (hover: hover) {
    #header .logo-wrapper:hover img {
        /*transform: scale(0.975);*/
    }
}

.logo-circle {
    width: 7.125rem;
    height: 7.125rem;
    transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    display: block;
}

@media (hover: hover) {
    .logo-circle:hover {
        transform: rotate(360deg);
    }
}

.loaded .logo-circle {
    background-image: url(../../images/logo.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.mainNav-wrapper {
    z-index: 7;
    gap: 0.25rem;
    font-weight: 500;
    transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95), opacity 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    display: flex;
    position: fixed;
    bottom: 2.25rem;
    left: 50%;
    transform: translate(-50%, 50%);
}

    .mainNav-wrapper .mainNav {
        gap: 0.25rem;
        display: flex;
    }

        .mainNav-wrapper .mainNav ul {
            display: flex;
        }

            .mainNav-wrapper .mainNav ul ul,
            .mainNav-wrapper .hide-on-fixed-menu {
                display: none;
            }

        .mainNav-wrapper .cta,
        .mainNav-wrapper .mainNav ul,
        .mainNav-wrapper .mainM-trigger {
            background: #faf7f2;
            border-radius: 0.375rem;
            padding: 1.35em;
            box-shadow: 0 0.05rem 0.375rem #0003;
        }

    .mainNav-wrapper .cta {
        text-align: center;
        color: #fff;
        background: #bb974e;
        min-width: 10em;
    }

@media only screen and (max-width: 1023px) {
    .mainNav-wrapper .mainNav ul {
        display: none;
    }
}

@media only screen and (min-width: 768px) {
    .mainNav-wrapper {
        bottom: 3rem;
    }
}

@media only screen and (min-width: 1024px) {
    .mainNav-wrapper {
        z-index: 5;
        bottom: 3rem;
    }

        .mainNav-wrapper .mainNav ul {
            gap: 1.5em;
            padding: 1.35em 2.2em;
        }

            .mainNav-wrapper .mainNav ul a {
                white-space: nowrap;
            }

                .mainNav-wrapper .mainNav ul a.active {
                    font-weight: 700;
                }
}

@media only screen and (min-width: 1280px) {
    .mainNav-wrapper .cta,
    .mainNav-wrapper .mainNav ul,
    .mainNav-wrapper #mainM-trigger {
        padding: 1.5em;
    }

    .mainNav-wrapper .mainNav ul {
        gap: 2em;
        padding: 1.5em 2.5em;
    }
}

@media (hover: hover) {
    .mainNav-wrapper .mainNav ul a {
        position: relative;
    }

        .mainNav-wrapper .mainNav ul a:after {
            content: "";
            z-index: 1;
            background: #bb974e;
            border-radius: 10px;
            width: 4px;
            height: 4px;
            transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
            display: block;
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translate(-2px, 0.5em) scale(0);
        }

        .mainNav-wrapper .mainNav ul a:hover:after,
        .mainNav-wrapper .mainNav ul a.active:after {
            transform: translate(-2px, 0.5em) scale(1);
        }

    .mainNav-wrapper .cta {
        transition: background 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

        .mainNav-wrapper .cta:hover {
            background: #b08c45 !important;
        }
}

.mainM-trigger,
#mainM-close,
#advice-close {
    width: 3rem;
    transition: background 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    position: relative;
}

    .mainM-trigger span,
    #mainM-close span,
    #advice-close span {
        background: #24262b;
        width: 0.85em;
        height: 1.5px;
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
    }

        .mainM-trigger span:first-child,
        #mainM-close span:first-child,
        #advice-close span:first-child {
            transform: translate(-50%, -0.175rem);
        }

        .mainM-trigger span:nth-child(2),
        #mainM-close span:nth-child(2),
        #advice-close span:nth-child(2) {
            transform: translate(-50%, 0.175rem);
        }

@media (hover: hover) {
    .mainM-trigger:hover,
    #mainM-close:hover,
    #advice-close:hover {
        background: #eee9e2 !important;
    }

        .mainM-trigger:hover span:first-child,
        #mainM-close:hover span:first-child,
        #advice-close:hover span:first-child {
            transform: translate(-50%, 0.225rem);
        }

        .mainM-trigger:hover span:nth-child(2),
        #mainM-close:hover span:nth-child(2),
        #advice-close:hover span:nth-child(2) {
            transform: translate(-50%, -0.225rem);
        }
}

#mainM {
    z-index: 6;
    opacity: 0;
    pointer-events: none;
    background: linear-gradient(to bottom right, #eee9e2, #dacfc1);
    align-items: center;
    transition: opacity 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    display: grid;
    position: fixed;
    inset: 0;
    overflow: scroll;
}

    #mainM .container {
        max-height: 100%;
        padding: 2.7rem 0;
    }

    #mainM .mainNav {
        text-align: center;
        padding-bottom: 2.7rem;
        font-size: 1em;
    }

        #mainM .mainNav a span {
            margin-inline: auto;
            display: inline-block;
        }

        #mainM .mainNav > a {
            display: none;
        }

        #mainM .mainNav > ul > li {
            text-wrap: balance;
        }

            #mainM .mainNav > ul > li > a {
                position: relative;
            }

                #mainM .mainNav > ul > li > a:is(:hover, :focus) {
                    color: inherit;
                }

                #mainM .mainNav > ul > li > a span {
                    text-transform: lowercase;
                    max-width: 11ch;
                    font-family: "Birthstone", cursive;
                    font-size: 2.5em;
                    line-height: 1.025;
                }

                #mainM .mainNav > ul > li > a:after {
                    z-index: 1;
                    content: attr(data-cursive);
                    text-transform: none;
                    text-wrap: balance;
                    color: #bb974e;
                    white-space: pre-wrap;
                    word-wrap: break-word;
                    opacity: 0;
                    pointer-events: none;
                    width: 100%;
                    max-width: 22ch;
                    margin: 0 auto;
                    font-family: "Birthstone", cursive;
                    font-weight: 400;
                    display: block;
                    position: absolute;
                    top: 100%;
                    left: 50%;
                    transform: translate(-50%, -0.75em) rotate(-6deg);
                }

            #mainM .mainNav > ul > li:not(:last-child) {
                margin-bottom: 1.35rem;
            }

            #mainM .mainNav > ul > li > ul {
                height: 0;
                overflow: hidden;
            }

                #mainM .mainNav > ul > li > ul li {
                    opacity: 0;
                }

                    #mainM .mainNav > ul > li > ul li:first-child {
                        padding-top: 2.7rem;
                    }

                    #mainM .mainNav > ul > li > ul li:last-child {
                        padding-bottom: 1.6875rem;
                    }

                    #mainM .mainNav > ul > li > ul li:not(:last-child) {
                        margin-bottom: 0.675rem;
                    }

            #mainM .mainNav > ul > li.open > a:after {
                opacity: 1;
                transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
            }

            #mainM .mainNav > ul > li.open > ul {
                display: block;
            }

    #mainM .langNav,
    #mainM .logo-circle {
        position: fixed;
        top: 1.5rem;
    }

    #mainM .langNav {
        text-align: center;
        letter-spacing: 0.035em;
        font-size: 0.8em;
        right: calc(1.5rem - 0.15em);
    }

        #mainM .langNav a {
            padding: 0.3em;
            display: inline-block;
        }

    #mainM .logo-circle {
        left: 1.5rem;
    }

    #mainM .mainM-bottom {
        display: none;
    }

@media only screen and (min-width: 600px) {
    #mainM .mainNav > ul > li:not(:last-child) {
        margin-bottom: 1.6875rem;
    }

    #mainM .mainNav > ul > li > a span {
        font-size: 2.44141em;
    }

    #mainM .mainNav > ul > li > a:after {
        font-size: 1.25em;
    }

    #mainM .mainNav > ul > li > ul {
        width: calc(100% - 18rem);
        max-width: 50rem;
        margin-inline: auto;
    }

        #mainM .mainNav > ul > li > ul:first-child {
            padding-top: 3.375rem;
            padding-bottom: 2.025rem;
        }

        #mainM .mainNav > ul > li > ul li {
            margin-left: 0.75em;
            margin-right: 0.75em;
            display: inline-block;
        }
}

@media only screen and (min-width: 768px) {
    #mainM .logo-circle {
        top: 3rem;
        left: 3rem;
    }

    #mainM .langNav {
        top: 3rem;
        right: 3rem;
    }
}

@media only screen and (min-width: 1024px) {
    #mainM .mainNav {
        padding-bottom: 0;
    }

        #mainM .mainNav > ul > li:not(:last-child) {
            margin-bottom: 1.35rem;
        }

        #mainM .mainNav > ul > li > ul li:first-child {
            padding-top: 3.375rem;
        }

        #mainM .mainNav > ul > li > ul li:last-child {
            padding-bottom: 2.3625rem;
        }

    #mainM #mainM-close {
        background: #faf7f2;
        border-radius: 0.375rem;
        height: 3.5rem;
        padding: 1.35em;
        position: absolute;
        top: 3rem;
        right: 3rem;
    }

        #mainM #mainM-close span:first-child {
            transform: translate(-50%, -50%) rotate(-135deg);
        }

        #mainM #mainM-close span:nth-child(2) {
            transform: translate(-50%, -50%) rotate(135deg);
        }

    #mainM .langNav {
        font-weight: 500;
        top: 4rem;
        right: 7.5rem;
    }

        #mainM .langNav li {
            text-transform: capitalize;
            display: inline-block;
        }

            #mainM .langNav li:not(:last-child):after {
                content: "・";
            }

    #mainM .mainM-bottom {
        pointer-events: none;
        justify-content: space-between;
        align-items: flex-end;
        font-size: 0.8em;
        display: flex;
        position: fixed;
        bottom: 3rem;
        left: 3rem;
        right: 3rem;
    }

        #mainM .mainM-bottom .icon-link {
            font-weight: 500;
        }

        #mainM .mainM-bottom .like-heading {
            margin-bottom: 0.675rem;
        }

        #mainM .mainM-bottom .icon-link {
            margin-top: 0.675rem;
            display: inline-block;
        }

            #mainM .mainM-bottom .icon-link svg {
                color: #bb974e;
                width: 1.2em;
                height: 1.2em;
            }

        #mainM .mainM-bottom .contacts {
            line-height: 1.55;
        }

        #mainM .mainM-bottom div:last-child {
            text-align: right;
        }

            #mainM .mainM-bottom div:last-child .icon-link svg {
                margin-left: 0.5em;
                margin-right: 0;
            }
}

@media screen and (min-height: 820px) {
    #mainM .mainNav > ul > li:not(:last-child) {
        margin-bottom: 1.6875rem;
    }

    #mainM .mainNav > ul > li > ul li:first-child {
        padding-top: 4.05rem;
    }

    #mainM .mainNav > ul > li > ul li:last-child {
        padding-bottom: 2.7rem;
    }

    #mainM .mainNav > ul > li > ul li:not(:last-child) {
        margin-right: 2em;
    }
}

@media only screen and (min-width: 1920px) {
    #mainM .logo-circle {
        left: 4.5rem;
    }

    #mainM .langNav,
    #mainM #mainM-close {
        right: 4.5rem;
    }

    #mainM .langNav {
        right: 10.5rem;
    }

    #mainM .mainM-bottom {
        bottom: 4.5rem;
        left: 4.5rem;
        right: 4.5rem;
    }
}

@media only screen and (min-width: 2320px) {
    #mainM .mainNav > ul > li > a span {
        font-size: 4em;
    }
}

@media (hover: hover) {
    #mainM .mainNav ul a {
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95), opacity 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95), color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        display: inline-block;
    }

    #mainM .mainNav > ul > li:not(.open) > a:hover {
        transform: scale(0.975);
    }

    #mainM .mainNav > ul > li > ul a:hover {
        color: #bb974e;
    }

    #mainM .mainM-bottom svg {
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

    #mainM .mainM-bottom .icon-link:hover {
        color: #bb974e;
    }

        #mainM .mainM-bottom .icon-link:hover svg {
            transform: scale(1.1);
        }
}

@media only screen and (max-width: 1023px) {
    #mainM-close {
        display: none;
    }
}

.mainM-open .mainM-trigger span:first-child {
    transform: translate(-50%, -50%) rotate(-135deg);
}

.mainM-open .mainM-trigger span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(135deg);
}

.mainM-open #mainM {
    opacity: 1;
    pointer-events: all;
    transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}

    .mainM-open #mainM .mainM-bottom > div {
        pointer-events: all;
    }

.hide-mainNav .mainNav-wrapper {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, calc(50% + 1rem));
}

#advice {
    z-index: 8;
    background: #0009;
    justify-content: center;
    align-items: center;
    display: grid;
    position: fixed;
    inset: 0;
}

    #advice .advice-holder {
        background: #eee9e2;
        border-radius: 0.44rem;
        width: calc(100vw - 3rem);
        max-width: 30rem;
        max-height: calc(100dvh - 3rem);
        position: relative;
        overflow: hidden;
        box-shadow: 0 0.05rem 0.375rem #0003;
    }

    #advice .scroll-holder {
        -ms-overflow-style: none;
        scrollbar-width: none;
        max-height: calc(100dvh - 3rem);
        overflow: scroll;
    }

        #advice .scroll-holder::-webkit-scrollbar {
            display: none;
        }

    #advice .img-holder {
        aspect-ratio: 3/2;
    }

    #advice .txt-wrapper {
        padding: 1.5rem 1.5rem 2.25rem;
    }

    #advice .txt-area {
        margin-top: 1.35rem;
    }

@media only screen and (min-width: 768px) {
    #advice .advice-holder {
        width: calc(100vw - 6rem);
        max-width: 34rem;
        max-height: calc(100dvh - 6rem);
    }

    #advice .txt-wrapper {
        padding: 3rem 3rem 4.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    #advice .advice-content {
        grid-template-columns: 1fr 1fr;
        align-items: center;
        display: grid;
    }

    #advice .advice-holder {
        max-width: 52rem;
    }

    #advice .img-holder {
        aspect-ratio: 6/7;
    }

    #advice .txt-wrapper {
        padding: 3rem;
    }

    #advice.--no-txt .advice-holder {
        max-width: 26rem;
    }

    #advice.--no-txt .advice-content {
        display: block;
    }
}

#advice-close {
    z-index: 9;
    background: #faf7f2;
    border-radius: 0.375rem;
    width: 2.5rem;
    height: 3rem;
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
}

    #advice-close span:first-child {
        transform: translate(-50%, -50%) rotate(-135deg) !important;
    }

    #advice-close span:nth-child(2) {
        transform: translate(-50%, -50%) rotate(135deg) !important;
    }

@media (hover: hover) {
    #advice-close:hover {
        background: #e5ddd2 !important;
    }
}

#footer {
    z-index: 1;
    padding-bottom: 2.7rem;
}

    #footer .main {
        text-align: center;
        border-top: 1px solid #dacfc1;
        margin-top: 1.35rem;
        padding: 2.7rem 0;
    }

    #footer .logo-wrapper {
        aspect-ratio: 400/400;
        width: 11rem;
        margin: 0 auto 3rem;
        display: block;
        position: relative;
        /*transform: translate(10%);*/
    }

    #footer .content-box {
        line-height: 1.75;
    }

    #footer .legal {
        text-align: center;
        max-width: 80%;
        margin-inline: auto;
        font-size: 0.8em;
        line-height: 1.75;
    }

        #footer .legal a {
            -webkit-text-decoration: underline #24262b66;
            text-decoration: underline #24262b66;
        }

        #footer .legal > span {
            white-space: nowrap;
            color: #24262bb3;
        }

            #footer .legal > span:not(:last-child):after {
                content: "・";
            }

            #footer .legal > span a:hover {
                color: #24262b;
            }

@media only screen and (max-width: 599px) {
    #footer .content-box:not(.active) {
        display: none;
    }

    #footer .col:not(:last-child) .content-box > * {
        padding-bottom: 1.35rem;
    }

    #footer h3 {
        padding: 1.0125rem 0;
    }

    #footer .col:not(:first-child, :nth-child(2)) {
        border-top: 1px solid #dacfc1;
    }
}

@media only screen and (min-width: 600px) {
    #footer .logo-wrapper {
        margin-bottom: 0;
    }

    #footer .main {
        grid-gap: 2.7rem;
        margin-inline: auto;
        grid-template-columns: 1fr 1fr;
        max-width: 75%;
        margin-bottom: 1.35rem;
        display: grid;
    }

        #footer .main .col:first-child {
            grid-column: span 2;
        }

        #footer .main h3 {
            margin-bottom: 0.675rem;
        }

        #footer .main .content-box {
            font-size: 0.8em;
        }

    #footer .legal {
        margin-inline: auto;
        font-size: 0.64em;
    }
}

@media only screen and (min-width: 768px) {
    #footer .main {
        text-align: left;
        flex-wrap: wrap;
        justify-content: space-between;
        max-width: 100%;
        display: flex;
    }

        #footer .main .col {
            min-width: 16%;
        }

            #footer .main .col:first-child {
                width: 100%;
            }
}

@media only screen and (min-width: 1024px) {
    #footer .logo-wrapper {
        margin-bottom: 0;
        transform: none;
    }

    #footer .main {
        flex-wrap: nowrap;
        gap: 2.025rem;
        margin-top: 2.025rem;
        padding-top: 2.025rem;
        font-size: 0.883rem;
    }

        #footer .main .col {
            min-width: auto;
        }

            #footer .main .col:not(:first-child) {
                padding-top: 2.475rem;
            }

            #footer .main .col:first-child {
                width: auto;
                padding-left: 2.025rem;
            }

            #footer .main .col:last-child {
                padding-right: 2.025rem;
            }

        #footer .main .content-box {
            font-size: 1em;
        }
}

@media only screen and (min-width: 1280px) {
    #footer .logo-wrapper {
        width: 14rem;
    }

    #footer .main {
        margin-inline: calc(8.33333vw - 0.5rem);
    }

        #footer .main .col {
            min-width: 7rem;
        }

            #footer .main .col:first-child {
                padding-left: 2.7rem;
            }

            #footer .main .col:last-child {
                padding-right: 2.7rem;
            }
}

@media only screen and (min-width: 1920px) {
    #footer .main {
        margin-top: 3.375rem;
        margin-inline: calc(12.5vw - 1.125rem);
        padding-top: 2.7rem;
        padding-bottom: 6.75rem;
    }
}

@media only screen and (min-width: 2320px) {
    #footer .main .col:first-child {
        padding-left: 4.05rem;
    }

    #footer .main .col:last-child {
        padding-right: 4.05rem;
    }
}

@media (hover: hover) {
    #footer .logo-wrapper {
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

        #footer .logo-wrapper img {
            -o-object-fit: contain;
            object-fit: contain;
        }
}

@media (hover: hover) and (hover: hover) {
    #footer .logo-wrapper:hover {
        transform: scale(0.975);
    }
}

#hero {
    color: #faf7f2;
    align-items: center;
    height: 100svh;
    display: grid;
}

    #hero .container {
        height: calc(100% - 4.5rem);
    }

    #hero .img-wrapper,
    #hero .img-holder {
        height: 100%;
    }

        #hero .img-holder:before,
        #hero .img-holder:after {
            content: "";
            z-index: 1;
            display: block;
            position: absolute;
        }

    #hero .txt-wrapper {
        z-index: 9;
        visibility: hidden;
        position: absolute;
        bottom: 10%;
    }

    #hero .cursive {
        max-width: 21ch;
        margin: 0 auto;
        transform: translateY(-0.33em) rotate(-6deg);
    }

@media only screen and (min-width: 768px) {
    #hero .container {
        height: calc(100% - 6rem);
    }
}

@media only screen and (max-width: 1023px) {
    #hero .txt-wrapper {
        text-align: center;
        left: 1rem;
        right: 1rem;
    }

    #hero .img-holder:before,
    #hero .img-holder:after {
        left: 0;
        right: 0;
    }

    #hero .img-holder:before {
        height: 10rem;
        top: 0;
    }

    #hero .img-holder:after {
        background-image: linear-gradient(#0000 0%, #0000001e 19%, #00000035 34%, #00000047 47%, #00000053 56.5%, #0000005c 65%, #00000064 73%, #0000006a 80.2%, #0000006e 86.1%, #00000070 91%, #00000072 95.2%, #00000073 98.2% 100%);
        height: 33.3333%;
        bottom: 0;
    }
}

@media only screen and (max-width: 767px) {
    #hero .img-holder:after {
        height: 50%;
    }
}

@media only screen and (min-width: 1024px) {
    #hero .img-wrapper {
        margin-left: 8.33333%;
    }

    #hero .img-holder:before,
    #hero .img-holder:after {
        inset: 0;
    }

    #hero .img-holder:before {
        background: radial-gradient(circle at 0 27.5%, #ffffffd9 0%, #0000 50%);
    }

    #hero .img-holder:after {
        background: radial-gradient(at 100% 100%, #00000039, #0000);
    }

    #hero .txt-wrapper {
        text-align: right;
        max-width: 60%;
        bottom: 15%;
        right: 8.3333%;
    }

    #hero h1 {
        max-width: 16ch;
        margin-left: auto;
    }

    #hero .cursive {
        margin-left: auto;
        position: absolute;
        bottom: 0;
        right: 0;
        transform: translate(1.25em, calc(100% - 0.55em)) rotate(-6deg);
    }
}

@media only screen and (min-width: 1600px) {
    #hero .img-holder:before {
        background: radial-gradient(circle at 0 27.5%, #5b3c00 0%, #0000 37.5%);
    }
}

@keyframes bounce {
    0%, 20%, 50%, 80%, to {
        transform: translate(-50%);
    }

    40% {
        transform: translate(-50%, -0.75rem);
    }

    60% {
        transform: translate(-50%, -0.25rem);
    }
}

#scroll-down {
    display: none;
}

@media only screen and (min-width: 1024px) {
    #scroll-down {
        animation: 2s infinite bounce;
        display: block;
        position: absolute;
        bottom: 4.5rem;
        left: calc(4.16667vw + 2.75rem);
        transform: translate(-50%);
    }

        #scroll-down svg {
            width: 1rem;
            height: 2.2rem;
        }
}

@media only screen and (min-width: 1920px) {
    #scroll-down {
        bottom: 6.75rem;
        left: calc(4.16667vw + 4.125rem);
    }
}

#hero-inner .img-holder {
    aspect-ratio: 4/5;
}

    #hero-inner .img-holder:before {
        content: "";
        z-index: 1;
        background-image: linear-gradient(#fff3 0%, #cecece26 19%, #a3a3a31c 34%, #7b7b7b13 47%, #5d5d5d0e 56.5%, #4444440a 65%, #2d2d2d06 73%, #1c1c1c04 80.2%, #10101002 86.1%, #08080801 91%, #03030300 95.2%, #01010100 98.2%, #0000 100%);
        width: 100%;
        height: 4.05rem;
        display: block;
        position: absolute;
        top: 0;
    }

#hero-inner .btn-col {
    margin-bottom: 1.35rem;
}

#hero-inner .heading-wrapper {
    visibility: hidden;
}

#hero-inner .heading-holder {
    position: relative;
}

    #hero-inner .heading-holder:has(.cursive) {
        padding-bottom: 1.35rem;
    }

#hero-inner .cursive {
    z-index: 9;
    max-width: 20ch;
    position: absolute;
    bottom: 0;
    right: 5%;
    transform: translateY(32.5%) rotate(-6deg);
}

#hero-inner.--no-cursive .heading-holder {
    margin-bottom: 1.35rem;
}

#hero-inner.--noImg .btn-col:has(.btn-wrapper) {
    margin-bottom: 0;
}

@media only screen and (max-width: 1023px) {
    #hero-inner.hide-backBtn-mobile .btn-col {
        display: none;
    }
}

@media (orientation: landscape) {
    #hero-inner .img-holder {
        aspect-ratio: 16/9;
    }
}

@media only screen and (min-width: 1024px) {
    #hero-inner .heading-wrapper {
        grid-template-columns: 9fr 3fr;
        align-items: flex-end;
        display: grid;
    }

    #hero-inner .btn-col {
        text-align: right;
    }

        #hero-inner .btn-col:has(.btn-wrapper) {
            padding-bottom: 0.55rem;
        }

    #hero-inner .cursive {
        right: 0;
        transform: translateY(25%) rotate(-6deg);
    }

    #hero-inner.--noImg .btn-col:has(.btn-wrapper) {
        padding-bottom: 0.65rem;
    }
}

@media only screen and (min-width: 1440px) {
    #hero-inner .cursive {
        right: 5%;
    }
}

@media only screen and (min-width: 1600px) {
    #hero-inner .heading-holder {
        max-width: 70rem;
    }

    #hero-inner .cursive {
        right: 10%;
    }
}

.lead-wrapper .tagline {
    margin-bottom: 1.35rem;
}

.lead-wrapper .txt-area {
    max-width: 60ch;
}

.featured-list {
    color: #bb974e;
    flex-wrap: wrap;
    gap: 1em;
    margin-top: 2.025rem;
    display: flex;
}

@media only screen and (min-width: 600px) {
    .featured-list {
        gap: 1.35rem;
    }
}

@media only screen and (min-width: 1024px) {
    .featured-list {
        margin-top: 3.375rem;
    }
}

.two-colsA {
    grid-gap: 1.35rem;
    display: grid;
}

    .two-colsA .txt-area {
        max-width: 50ch;
        margin-bottom: 0.675rem;
    }

    .two-colsA .txt-wrapper:has(.btn-wrapper) .txt-area {
        margin-bottom: 0;
    }

@media only screen and (min-width: 1024px) {
    .two-colsA {
        grid-gap: calc((100vw - 3rem * 2) / 12);
        grid-template-columns: 1fr 1fr;
    }

        .two-colsA.--has-tagline .txt-area {
            margin-top: 1.755rem;
        }
}

@media only screen and (min-width: 1280px) {
    .two-colsA {
        grid-gap: 0;
        grid-template-columns: 6fr 6fr;
    }

        .two-colsA .txt-wrapper {
            margin-left: calc(16.6667vw + 0.1rem);
        }
}

@media only screen and (min-width: 1920px) {
    .two-colsA .txt-wrapper {
        margin-left: calc(16.6667vw - 0.4rem);
    }
}

.card {
    display: block;
    color: #24262b !important;
}

    .card .img-holder {
        aspect-ratio: 4/5;
    }

    .card .txt-wrapper {
        margin-top: 1.35rem;
        transition: opacity 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

    .card .txt-area {
        max-width: 50ch;
        margin-top: 1.0125rem;
    }

    .card .nc-icon {
        z-index: 9;
        color: #faf7f2;
        width: 1rem;
        height: 1rem;
        position: absolute;
        bottom: 1.35rem;
        right: 1.35rem;
        transform: rotate(-45deg);
    }

    .card.--landscape .img-holder {
        aspect-ratio: 5/4;
    }

    .card.--square .img-holder {
        aspect-ratio: 1;
    }

    .card:is(:hover, :focus) {
        color: #24262b;
    }

@media only screen and (min-width: 1600px) {
    .card.--landscape .txt-area {
        max-width: 55ch;
    }
}

@media (hover: hover) {
    a.card .img-holder img {
        transition: transform 0.75s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

    a.card:hover .img-holder img {
        transition: transform 3s cubic-bezier(0.165, 0.84, 0.44, 1);
        transform: scale(1.1);
    }

    a.card .nc-icon {
        display: none;
    }
}

.carousel-previews,
.carousel-previews-landscape {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-top: 1.35rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

    .carousel-previews .swiper-slide:not(.swiper-slide-visible) .txt-wrapper,
    .carousel-previews-landscape .swiper-slide:not(.swiper-slide-visible) .txt-wrapper {
        opacity: 0;
    }

@media only screen and (min-width: 768px) {
    .carousel-previews,
    .carousel-previews-landscape {
        margin-left: -3rem;
        margin-right: -3rem;
        padding-left: 3rem;
        padding-right: 3rem;
    }

        .carousel-previews .swiper-nav,
        .carousel-previews-landscape .swiper-nav {
            margin-right: 0;
        }

        .carousel-previews .txt-wrapper,
        .carousel-previews-landscape .txt-wrapper {
            padding-right: 0;
        }
}

@media only screen and (min-width: 1920px) {
    .carousel-previews,
    .carousel-previews-landscape {
        margin-left: -4.5rem;
        margin-right: -4.5rem;
        padding-left: 4.5rem;
        padding-right: 4.5rem;
    }
}

@media screen and (min-width: 600px) and (max-width: 767px) {
    .carousel-previews {
        padding-right: calc(1.5rem + 25vw);
    }

        .carousel-previews .swiper-nav {
            margin-right: -25vw;
        }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .carousel-previews-landscape {
        padding-right: calc(1.5rem + 25vw);
    }

        .carousel-previews-landscape .swiper-nav {
            margin-right: -25vw;
        }
}

@media only screen and (max-width: 1023px) {
    .highlights .swiper-pagination {
        z-index: 9;
        text-align: center;
        justify-content: center;
        gap: 1rem;
        display: flex;
        position: absolute;
        top: 2.7rem;
        left: 1.5rem;
        right: 1.5rem;
    }

    .highlights .swiper-pagination-bullet {
        background: #eee9e2;
        width: 2.5rem;
        height: 1px;
    }

        .highlights .swiper-pagination-bullet.swiper-pagination-bullet-active {
            background: #bb974e;
        }
}

@media only screen and (min-width: 1024px) {
    .highlights .swiper-wrapper {
        aspect-ratio: 16/9;
        grid-template-columns: repeat(3, 1fr);
        display: grid;
        position: relative;
        overflow: hidden;
    }

        .highlights .swiper-wrapper:after,
        .highlights .swiper-wrapper:before {
            content: "";
            z-index: 9;
            background: #dacfc14d;
            width: 1px;
            display: block;
            position: absolute;
            top: 0;
            bottom: 0;
        }

        .highlights .swiper-wrapper:before {
            left: 33.3333%;
        }

        .highlights .swiper-wrapper:after {
            left: 66.6666%;
        }

        .highlights .swiper-wrapper .swiper-slide {
            cursor: pointer;
            flex-direction: column;
            justify-content: flex-end;
            display: flex;
            position: static;
            transform: none;
        }

            .highlights .swiper-wrapper .swiper-slide:first-child .img-holder {
                z-index: 2;
            }
}

@media only screen and (min-width: 1600px) {
    .highlights .swiper-wrapper {
        aspect-ratio: auto;
        height: 100svh;
    }
}

@media (hover: hover) {
    .highlights .swiper-slide:not(.active):hover .txt-wrapper {
        transform: translateY(-0.75rem);
    }
}

.highlight-box {
    color: #faf7f2;
}

    .highlight-box .img-holder:after {
        content: "";
        z-index: 2;
        background-image: linear-gradient(#0000001a 0%, #0000002a 19%, #00000037 34%, #00000041 47%, #00000048 56.5%, #0000004d 65%, #00000051 73%, #00000054 80.2%, #00000057 86.1%, #00000058 91%, #00000059 95.2% 98.2%, #00000059 100%);
        display: block;
        position: absolute;
        inset: 0;
    }

    .highlight-box .txt-wrapper {
        text-align: center;
    }

    .highlight-box h3 {
        max-width: 15ch;
        margin-inline: auto;
    }

    .highlight-box .txt-area {
        max-width: 40ch;
        margin-inline: auto;
        padding-top: 1.0125rem;
    }

@media only screen and (max-width: 1023px) {
    .highlight-box {
        position: relative;
    }

        .highlight-box .img-holder {
            aspect-ratio: 3/4;
        }

        .highlight-box .txt-wrapper {
            z-index: 9;
            padding: 0 1.5rem 2.7rem;
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
        }
}

@media only screen and (min-width: 768px) {
    .highlight-box .img-holder {
        aspect-ratio: 1;
    }
}

@media only screen and (min-width: 1024px) {
    .highlight-box .img-holder {
        aspect-ratio: auto;
        pointer-events: none;
        position: absolute;
        inset: 0;
    }

        .highlight-box .img-holder:after {
            content: "";
            z-index: 2;
            background-image: linear-gradient(#0000 0%, #00000014 19%, #00000023 34%, #0000002f 47%, #00000037 56.5%, #0000003e 65%, #00000043 73%, #00000047 80.2%, #00000049 86.1%, #0000004b 91%, #0000004c 95.2% 98.2%, #0000004d 100%);
            display: block;
            position: absolute;
            inset: 0;
        }

    .highlight-box .txt-wrapper {
        z-index: 9;
        text-align: center;
        padding: 0 3rem 3.375rem;
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        position: relative;
    }

    .highlight-box .txt-area {
        overflow: hidden;
    }
}

@media only screen and (min-width: 1280px) {
    .highlight-box .txt-wrapper {
        padding-bottom: 6.075rem;
    }
}

.txtWithImgGrid,
.txtWithImgGrid .txt-wrapper .holder {
    grid-gap: 1.35rem;
    display: grid;
}

    .txtWithImgGrid .txt-wrapper .btn-wrapper {
        margin-top: 0;
    }

    .txtWithImgGrid .txt-area {
        max-width: 50ch;
    }

    .txtWithImgGrid .img-holder.--portrait {
        aspect-ratio: 4/5;
    }

    .txtWithImgGrid .img-holder.--landscape {
        aspect-ratio: 4/3;
    }

@media only screen and (max-width: 767px) {
    .txtWithImgGrid .txt-wrapper {
        padding: 1.35rem 0;
    }
}

@media only screen and (min-width: 768px) {
    .txtWithImgGrid {
        grid-gap: 2.7rem 1.35rem;
        grid-template-columns: 1fr 1fr;
    }

        .txtWithImgGrid .img-wrapper:first-child,
        .txtWithImgGrid .txt-wrapper {
            grid-column: span 2;
        }

        .txtWithImgGrid .img-wrapper:nth-child(4) {
            margin-top: 2.7rem;
        }

            .txtWithImgGrid .img-wrapper:nth-child(4) .img-holder {
                max-width: 32rem;
            }
}

@media only screen and (min-width: 1024px) {
    .txtWithImgGrid {
        grid-gap: 2.7rem 1.5rem;
    }

        .txtWithImgGrid .txt-wrapper {
            grid-area: 1/1/2/2;
            align-items: flex-start;
            padding-bottom: 9.45rem;
        }

        .txtWithImgGrid .img-wrapper:nth-child(3) {
            grid-area: 1/2/2/3;
        }

        .txtWithImgGrid .img-wrapper:first-child {
            grid-area: 2/1/3/2;
            margin-top: -9.45rem;
        }

        .txtWithImgGrid .img-wrapper:first-child,
        .txtWithImgGrid .img-wrapper:nth-child(4) {
            margin-right: calc(8.33333vw - 2rem);
        }

        .txtWithImgGrid .img-wrapper:nth-child(4) {
            margin-top: 0;
        }

        .txtWithImgGrid .txt-area {
            max-width: 46ch;
            padding-right: 2.7rem;
        }

        .txtWithImgGrid .img-holder {
            max-width: none !important;
        }
}

@media only screen and (min-width: 1280px) {
    .txtWithImgGrid .txt-wrapper {
        padding-bottom: 27vh;
    }

    .txtWithImgGrid .img-wrapper:first-child {
        margin-top: -27vh;
    }

    .txtWithImgGrid .img-wrapper:nth-child(4) {
        margin-top: 2.7rem;
    }
}

@media only screen and (min-width: 1440px) {
    .txtWithImgGrid.--no-cursive .txt-area {
        margin-top: 5vh;
    }
}

@media only screen and (min-width: 1920px) {
    .txtWithImgGrid .txt-wrapper {
        padding-bottom: 31vh;
    }

    .txtWithImgGrid .img-wrapper:first-child {
        margin-top: -31vh;
    }

    .txtWithImgGrid .img-wrapper:first-child,
    .txtWithImgGrid .img-wrapper:nth-child(4) {
        margin-right: calc(8.33333vw - 2.25rem);
    }
}

@media only screen and (min-width: 2320px) {
    .txtWithImgGrid .img-holder.--portrait {
        aspect-ratio: 1;
    }
}

.txtWithImg .img-wrapper {
    grid-gap: 1rem;
    margin-top: 2.7rem;
    display: grid;
}

    .txtWithImg .img-wrapper .img-holder:first-child {
        aspect-ratio: 5/4;
    }

    .txtWithImg .img-wrapper .img-holder:nth-child(2) {
        aspect-ratio: 4/5;
        width: 83.333%;
    }

@media only screen and (min-width: 768px) {
    .txtWithImg .img-wrapper .img-holder:nth-child(2) {
        width: calc(50% - 0.675rem);
    }
}

@media only screen and (min-width: 1024px) {
    .txtWithImg .img-wrapper {
        grid-template-columns: 3fr 9fr;
        align-items: flex-end;
    }

        .txtWithImg .img-wrapper .img-holder:first-child {
            aspect-ratio: 16/10;
        }

        .txtWithImg .img-wrapper .img-holder:nth-child(2) {
            grid-area: 1/1/2/2;
            width: 100%;
        }
}

.largeImg {
    position: relative;
}

    .largeImg .img-holder {
        aspect-ratio: 4/5;
    }

    .largeImg.--has-text .img-holder:before {
        content: "";
        z-index: 1;
        background-image: linear-gradient(#0000000d 0%, #00000021 19%, #00000030 34%, #0000003c 47%, #0004 56.5%, #0000004a 65%, #00000050 73%, #00000054 80.2%, #00000056 86.1%, #00000058 91%, #00000059 95.2% 98.2%, #00000059 100%);
        display: block;
        position: absolute;
        inset: 0;
    }

    .largeImg .txt-wrapper {
        z-index: 9;
        text-align: right;
        position: absolute;
        bottom: 1.5rem;
        left: 1.5rem;
        right: 1.5rem;
    }

        .largeImg .txt-wrapper p {
            color: #faf7f2;
            max-width: 20ch;
            margin-left: auto;
            font-family: "Birthstone", cursive;
            font-size: 1.95313rem;
            font-weight: 700;
            line-height: 1.1;
        }

@media (min-width: 600px) {
    .largeImg .txt-wrapper p {
        font-size: 2.44141rem;
        line-height: 1.05;
    }
}

@media (min-width: 1600px) {
    .largeImg .txt-wrapper p {
        font-size: 3.05176rem;
        line-height: 1.05;
    }
}

@media only screen and (min-width: 768px) {
    .largeImg .txt-wrapper {
        bottom: 3rem;
        left: 3rem;
        right: 3rem;
    }

    .largeImg.--has-text .img-holder:before {
        background-image: linear-gradient(#0000 0%, #00000017 19%, #00000029 34%, #00000037 47%, #00000040 56.5%, #00000048 65%, #0000004e 73%, #00000053 80.2%, #00000056 86.1%, #00000057 91%, #00000059 95.2% 98.2%, #00000059 100%);
        top: 33.333%;
    }
}

@media only screen and (min-width: 1920px) {
    .largeImg .txt-wrapper {
        bottom: 4.5rem;
        left: 4.5rem;
        right: 4.5rem;
    }
}

@media (orientation: landscape) {
    .largeImg .img-holder {
        aspect-ratio: 16/9;
    }
}

#instaFeed {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 3rem;
    padding-right: 3rem;
}

    #instaFeed .img-holder {
        aspect-ratio: 1;
    }

    #instaFeed .swiper-wrapper {
        transition-timing-function: linear;
    }

@media only screen and (min-width: 768px) {
    #instaFeed {
        margin-left: -3rem;
        margin-right: -3rem;
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

@media only screen and (min-width: 1920px) {
    #instaFeed {
        margin-left: -4.5rem;
        margin-right: -4.5rem;
        padding-left: 4.5rem;
        padding-right: 4.5rem;
    }
}

#launchesList {
    overflow: hidden;
}

    #launchesList aside {
        text-transform: uppercase;
        font-family: "Birthstone", cursive;
        font-size: 0.8em;
        font-weight: 700;
    }

    #launchesList a,
    #launchesList button {
        text-wrap: balance;
    }

        #launchesList a.active,
        #launchesList a:hover,
        #launchesList button.active,
        #launchesList button:hover {
            color: #bb974e;
        }

    #launchesList button {
        font-size: 2rem;
        text-transform: lowercase;
        text-align: left;
        transition: color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

@media only screen and (max-width: 1279px) {
    #launchesList aside {
        z-index: 4;
        opacity: 0;
        pointer-events: none;
        background: #faf7f2f2;
        width: 100%;
        padding: 1.35rem 0 0 3rem;
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95), opacity 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        position: fixed;
        top: 0;
        left: 0;
        overflow: hidden;
        transform: translateY(-25%);
        box-shadow: 0 0.05rem 0.375rem #0003;
    }

        #launchesList aside ul {
            justify-content: flex-start;
            align-items: center;
            padding-bottom: 1.35rem;
            display: flex;
            overflow: scroll hidden;
        }

        #launchesList aside li {
            flex: 0 0 9ch;
            max-height: 2.7em;
            margin-right: 1rem;
            overflow: hidden;
        }

        #launchesList aside a,
        #launchesList aside button {
            text-overflow: ellipsis;
            display: inline-block;
            overflow: hidden;
        }

    #launchesList #filtering li {
        flex-basis: auto;
    }

    #launchesList #filtering button {
        white-space: nowrap;
    }
}

@media only screen and (max-width: 767px) {
    #launchesList aside {
        padding: 1.35rem 0 0 1.5rem;
    }
}

@media only screen and (min-width: 600px) {
    #launchesList aside li {
        margin-right: 1.5rem;
    }
}

@media only screen and (min-width: 1280px) {
    #launchesList {
        grid-template-columns: 2fr 10fr;
        display: grid;
    }

        #launchesList .main-row .container {
            width: 100%;
        }

        #launchesList .main-row section:nth-child(4n-1) .launch-images-landscape .img-wrapper:nth-child(2) {
            margin-left: auto;
        }

        #launchesList .two-colsA .txt-wrapper {
            margin-left: calc(8.33333vw + 0.6rem);
        }

        #launchesList aside {
            padding-right: 2.7rem;
            font-size: 1em;
        }

            #launchesList aside ul {
                flex-direction: column;
                justify-content: center;
                height: 100svh;
                display: flex;
            }

            #launchesList aside li {
                padding-right: 0;
            }

                #launchesList aside li:not(:last-child) {
                    margin-bottom: 1rem;
                }

            #launchesList aside a,
            #launchesList aside button {
                max-width: 11ch;
                line-height: 1.25;
                display: block;
                position: relative;
            }

                #launchesList aside a:before,
                #launchesList aside button:before {
                    content: "";
                    z-index: 1;
                    background: #bb974e;
                    border-radius: 10px;
                    width: 4px;
                    height: 4px;
                    transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
                    display: block;
                    position: absolute;
                    top: 50%;
                    left: -1rem;
                    transform: translateY(-2px) scale(0);
                }

                #launchesList aside a.active:before,
                #launchesList aside button.active:before {
                    transform: translateY(-2px) scale(1);
                }
}

@media only screen and (min-width: 1600px) {
    #launchesList aside {
        padding-right: 4.05rem;
    }
}

@media only screen and (min-width: 1920px) {
    #launchesList .two-colsA .txt-wrapper {
        margin-left: calc(8.33333vw + 0.35rem);
    }
}

.show-aside #launchesList aside {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.launch-images-landscape {
    grid-gap: 1rem;
    display: grid;
}

    .launch-images-landscape .img-holder {
        aspect-ratio: 4/3;
    }

    .launch-images-landscape .img-wrapper:nth-child(2) {
        width: 83.333%;
    }

@media only screen and (min-width: 1024px) {
    .launch-images-landscape {
        padding-top: 0;
    }

        .launch-images-landscape .img-wrapper:first-child .img-holder {
            aspect-ratio: 16/10;
        }

        .launch-images-landscape .img-wrapper:nth-child(2) {
            width: 60%;
        }
}

.launch-images-portrait {
    grid-gap: 1rem;
    display: grid;
}

    .launch-images-portrait .img-holder {
        aspect-ratio: 3/4;
    }

    .launch-images-portrait .img-wrapper:nth-child(2) .img-holder {
        aspect-ratio: 1;
    }

@media only screen and (min-width: 1024px) {
    .launch-images-portrait {
        grid-template-columns: 1fr 1fr;
        padding-top: 0;
    }

        .launch-images-portrait .img-wrapper:nth-child(2) .img-holder {
            aspect-ratio: 3/4;
        }
}

.cardsGrid {
    grid-gap: 3.375rem;
    display: grid;
}

    .cardsGrid .img-holder {
        aspect-ratio: 5/4;
    }

@media only screen and (min-width: 600px) {
    .cardsGrid {
        grid-gap: 4.05rem;
    }
}

@media only screen and (max-width: 1023px) {
    .cardsGrid .card {
        max-width: 32rem;
    }
}

@media only screen and (min-width: 768px) {
    .cardsGrid {
        grid-gap: 2.7rem 1.35rem;
        grid-template-columns: 1fr 1fr;
        display: grid;
    }

        .cardsGrid .txt-wrapper {
            padding-right: 0.675rem;
        }

        .cardsGrid:not(.filtered) .card:nth-child(2n),
        .cardsGrid.filtered .card.mT-1 {
            margin-top: 5.4rem;
        }
}

@media only screen and (min-width: 1024px) {
    .cardsGrid {
        grid-template-columns: repeat(2, 1fr);
    }

        .cardsGrid:not(.filtered) .card:nth-child(2n),
        .cardsGrid.filtered .card.mT-1 {
            margin-top: 2.7rem;
        }
}

@media only screen and (min-width: 1600px) {
    .cardsGrid {
        grid-gap: 2.7rem;
    }
}

@media only screen and (min-width: 2320px) {
    .cardsGrid {
        grid-template-columns: repeat(3, 1fr);
    }

        .cardsGrid .img-holder {
            aspect-ratio: 7/6;
        }

        .cardsGrid:not(.filtered) .card:nth-child(2n) {
            margin-top: 0;
        }

        .cardsGrid:not(.filtered) .card:nth-child(3n-1) {
            margin-top: 2.025rem;
        }

        .cardsGrid:not(.filtered) .card:nth-child(3n) {
            margin-top: 4.05rem;
        }

        .cardsGrid.filtered .card.mT-1 {
            margin-top: 2.025rem;
        }

        .cardsGrid.filtered .card.mT-2 {
            margin-top: 4.05rem;
        }
}

.services h2 {
    max-width: 24ch;
}

.services-wrapper {
    flex-wrap: wrap;
    gap: 0.25rem;
    max-width: 60rem;
    display: flex;
}

    .services-wrapper li {
        text-transform: uppercase;
        background: #faf7f2;
        border: 1px solid #dacfc1;
        border-radius: 0.375rem;
        padding: 0.85em 1em;
        font-size: 0.8em;
        display: inline-block;
    }

@media only screen and (min-width: 600px) {
    .services-wrapper li {
        padding: 1em 1.25em;
    }
}

.services-block .img-holder {
    aspect-ratio: 5/4;
}

.services-block .txt-wrapper,
.services-block .services-wrapper {
    margin-top: 1.35rem;
}

@media (orientation: landscape) {
    .services-block .img-holder {
        aspect-ratio: 2;
    }
}

body.hidden-scroll {
    overflow: hidden;
}

.sl-overlay {
    z-index: 1035;
    background: #faf7f2;
    display: none;
    position: fixed;
    inset: 0;
}

.sl-wrapper {
    z-index: 1040;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
}

    .sl-wrapper * {
        box-sizing: border-box;
    }

    .sl-wrapper button {
        cursor: pointer;
        background: 0 0;
        border: 0;
        padding: 0;
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

        .sl-wrapper button svg {
            transition: color 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        }

        .sl-wrapper button:hover {
            transform: scale(0.95);
        }

            .sl-wrapper button:hover svg {
                color: #bb974e;
            }

    .sl-wrapper .sl-close {
        z-index: 10060;
        text-transform: uppercase;
        display: none;
        position: fixed;
        top: 30px;
        right: 30px;
    }

    .sl-wrapper .sl-counter {
        z-index: 10060;
        display: none;
        position: fixed;
        top: 30px;
        left: 30px;
    }

    .sl-wrapper .sl-navigation {
        width: 100%;
        display: none;
    }

        .sl-wrapper .sl-navigation button {
            text-align: center;
            z-index: 10060;
            width: 22px;
            height: 44px;
            margin-top: -22px;
            line-height: 44px;
            display: block;
            position: fixed;
            top: 50%;
        }

            .sl-wrapper .sl-navigation button.sl-next {
                font-size: 2rem;
                right: 5px;
            }

            .sl-wrapper .sl-navigation button.sl-prev {
                font-size: 2rem;
                left: 5px;
            }

                .sl-wrapper .sl-navigation button.sl-prev svg {
                    transform: scaleX(-1);
                }

@media (min-width: 35.5em) {
    .sl-wrapper .sl-navigation button {
        width: 44px;
    }

        .sl-wrapper .sl-navigation button.sl-next {
            font-size: 3rem;
            right: 10px;
        }

        .sl-wrapper .sl-navigation button.sl-prev {
            font-size: 3rem;
            left: 10px;
        }
}

@media (min-width: 50em) {
    .sl-wrapper .sl-navigation button {
        width: 44px;
    }

        .sl-wrapper .sl-navigation button.sl-next {
            font-size: 3rem;
            right: 20px;
        }

        .sl-wrapper .sl-navigation button.sl-prev {
            font-size: 3rem;
            left: 20px;
        }
}

.sl-wrapper.sl-dir-rtl .sl-navigation {
    direction: ltr;
}

.sl-wrapper .sl-image {
    touch-action: none;
    z-index: 10000;
    border-radius: 0.44rem;
    position: fixed;
    overflow: hidden;
}

    .sl-wrapper .sl-image img {
        border: 0;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
        display: block;
    }

@media (min-width: 35.5em) {
    .sl-wrapper .sl-image img {
        border: 0;
    }
}

@media (min-width: 50em) {
    .sl-wrapper .sl-image img {
        border: 0;
    }
}

.sl-wrapper .sl-image iframe {
    background: #000;
    border: 0;
}

@media (min-width: 35.5em) {
    .sl-wrapper .sl-image iframe {
        border: 0;
    }
}

@media (min-width: 50em) {
    .sl-wrapper .sl-image iframe {
        border: 0;
    }
}

.sl-wrapper .sl-image .sl-caption {
    color: #faf7f2;
    background-image: linear-gradient(#0000 0%, #0001 19%, #0000001d 34%, #00000027 47%, #0000002e 56.5%, #0003 65%, #00000038 73%, #0000003b 80.2%, #0000003d 86.1%, #0000003e 91%, #0000003f 95.2%, #00000040 98.2% 100%);
    padding: 3rem 1rem 1rem;
    font-size: 0.8em;
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

    .sl-wrapper .sl-image .sl-caption.pos-top {
        top: 0;
        bottom: auto;
    }

    .sl-wrapper .sl-image .sl-caption.pos-outside {
        bottom: auto;
    }

.sl-spinner {
    opacity: 0;
    z-index: 1007;
    border: 5px solid #24262b;
    border-radius: 40px;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    animation: 1s ease-out infinite pulsate;
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
}

.sl-scrollbar-measure {
    width: 50px;
    height: 50px;
    position: absolute;
    top: -9999px;
    overflow: scroll;
}

.sl-transition {
    transition: transform 0.2s;
}

@keyframes pulsate {
    0% {
        opacity: 0;
        transform: scale(0.1);
    }

    50% {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: scale(1.2);
    }
}

.gallery {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

    .gallery .img-holder {
        aspect-ratio: 5/4;
    }

        .gallery .img-holder .nc-icon {
            z-index: 9;
            color: #faf7f2;
            width: 0.75rem;
            height: 0.75rem;
            position: absolute;
            bottom: 1.35rem;
            right: 1.35rem;
        }

    .gallery .swiper-nav {
        margin-top: 2.025rem;
    }

    .gallery figcaption {
        margin-top: 0.675rem;
    }

@media only screen and (max-width: 767px) {
    .gallery figcaption {
        display: none;
    }
}

@media only screen and (min-width: 768px) {
    .gallery {
        margin-left: -3rem;
        margin-right: -3rem;
        padding-left: 3rem;
        padding-right: 3rem;
    }

        .gallery .swiper-nav {
            margin-right: 0;
        }

        .gallery .txt-wrapper {
            padding-right: 0;
        }
}

@media only screen and (min-width: 1024px) {
    .gallery .swiper-slide {
        width: auto;
    }

    .gallery .img-holder {
        height: calc(44.4445vw - 3.36667rem);
    }

        .gallery .img-holder.--portrait {
            aspect-ratio: 3/4;
        }

        .gallery .img-holder.--landscape {
            aspect-ratio: 3/2;
        }
}

@media only screen and (min-width: 1920px) {
    .gallery {
        margin-left: -4.5rem;
        margin-right: -4.5rem;
        padding-left: 4.5rem;
        padding-right: 4.5rem;
    }
}

@media (hover: hover) {
    .gallery .img-holder {
        height: calc(44.4445vw - 4.7rem);
    }

        .gallery .img-holder img {
            transition: transform 0.75s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        }

    .gallery .swiper-slide:hover .img-holder img {
        transition: transform 3s cubic-bezier(0.165, 0.84, 0.44, 1);
        transform: scale(1.1);
    }
}

.accordion .acc-title {
    justify-content: space-between;
    align-items: center;
    gap: 1.35rem;
    padding: 0.75rem 0;
    display: flex;
    position: relative;
}

    .accordion .acc-title h3 {
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

.accordion .acc-trigger {
    position: absolute;
    inset: 0;
}

.accordion .icon {
    pointer-events: none;
    background: #faf7f2;
    border-radius: 0.375rem;
    flex-shrink: 0;
    width: 2.5rem;
    height: 3rem;
    transition: background 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    position: relative;
}

    .accordion .icon:after,
    .accordion .icon:before {
        content: "";
        background: #24262b;
        width: 0.9rem;
        height: 1.5px;
        transition: transform 0.35s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
    }

    .accordion .icon:before {
        transform: translate(-50%, -50%);
    }

    .accordion .icon:after {
        transform: translate(-50%, -50%) rotate(90deg);
    }

.accordion .acc-title.active .icon:before {
    transform: translate(-50%, -50%) rotate(180deg);
}

.accordion .acc-title.active .icon:after {
    transform: translate(-50%, -50%) rotate(180deg) scale(0);
}

.accordion .acc-content {
    height: 0;
    overflow: hidden;
}

    .accordion .acc-content .txt-area {
        margin-top: 0.675rem;
        margin-bottom: 3.375rem;
    }

.accordion .like-heading {
    color: #bb974e;
    display: block;
}

.accordion .acc-item {
    border-bottom: 1px solid #dacfc1;
}

    .accordion .acc-item:first-child {
        border-top: 1px solid #dacfc1;
    }

@media only screen and (min-width: 600px) {
    .accordion .acc-title {
        padding: 0.75rem 0;
    }

    .accordion .icon {
        margin-right: 0.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .accordion {
        counter-reset: accordion;
        padding-left: calc(8.33333vw - 0.5rem);
    }

        .accordion .acc-item {
            counter-increment: accordion;
        }

        .accordion h3,
        .accordion .acc-content {
            padding-left: 0.5rem;
        }

        .accordion .acc-title:before {
            content: counter(accordion, decimal-leading-zero);
            font-size: 0.8em;
            font-weight: 500;
            position: absolute;
            top: 50%;
            left: calc(-8.33333vw + 0.5rem);
            transform: translateY(-50%);
        }
}

@media only screen and (min-width: 1280px) {
    .accordion .acc-title {
        padding: 1.35rem 0;
    }
}

@media only screen and (min-width: 1600px) {
    .accordion {
        padding-left: calc(16.6667vw - 1.5rem);
        padding-right: calc(8.33333vw - 0.75rem);
    }
}

@media (hover: hover) {
    .accordion .acc-title:not(.active):hover .icon:before {
        transform: translate(-50%, -50%) rotate(180deg);
    }

    .accordion .acc-title:not(.active):hover .icon:after {
        transform: translate(-50%, -50%) rotate(270deg);
    }

    .accordion .acc-title:hover h3 {
        transform: translate(0.5rem);
    }

    .accordion .acc-title:hover .icon {
        background: #e5ddd2;
    }
}

.photoGallery {
    grid-gap: 1rem;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: max-content;
    grid-auto-flow: dense;
    display: grid;
}

    .photoGallery a {
        aspect-ratio: 5/4;
        grid-row: span 2;
        display: block;
        position: relative;
    }

        .photoGallery a.--portrait {
            aspect-ratio: auto;
            aspect-ratio: 3/4;
            grid-row: span 3;
        }

        .photoGallery a .nc-icon {
            z-index: 9;
            color: #faf7f2;
            width: 0.75rem;
            height: 0.75rem;
            position: absolute;
            bottom: 1.0125rem;
            right: 1.0125rem;
        }

@media only screen and (min-width: 768px) {
    .photoGallery a .nc-icon {
        bottom: 1.35rem;
        right: 1.35rem;
    }

    .photoGallery a.--portrait {
        aspect-ratio: 40/49;
    }
}

@media only screen and (min-width: 1024px) {
    .photoGallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (min-width: 2320px) {
    .photoGallery {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (hover: hover) {
    .photoGallery .img-holder img {
        transition: transform 0.75s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    }

    .photoGallery a:hover img {
        transition: transform 3s cubic-bezier(0.165, 0.84, 0.44, 1);
        transform: scale(1.1);
    }
}

#impressum {
    text-align: left;
}

    #impressum .companies {
        grid-gap: 1.35rem;
        display: grid;
    }

    #impressum address > span {
        display: block;
    }

    #impressum address .contacts {
        margin: 1.35rem 0;
    }

        #impressum address .contacts span {
            display: block;
        }

    #impressum h2,
    #impressum h3 {
        margin-bottom: 1.35rem;
    }

    #impressum .logo-box {
        margin-top: 1.35rem;
    }

        #impressum .logo-box img {
            width: 8rem;
        }

        #impressum .logo-box.small img {
            width: 5rem;
        }

        #impressum .logo-box.brand img {
            width: 10rem;
        }

    #impressum ol {
        list-style: decimal;
    }

@media only screen and (min-width: 600px) {
    #impressum .companies {
        grid-template-columns: 1fr 1fr;
    }

        #impressum .companies .logo-box img {
            width: 10rem;
            margin-top: 0;
            margin-left: auto;
            margin-right: 2rem;
        }

        #impressum .companies .logo-box.brand img {
            width: 14rem;
            margin-right: 0;
        }

        #impressum .companies .logo-box.small img {
            width: 7rem;
            margin-right: 3.5rem;
        }
}

@media only screen and (min-width: 1280px) {
    #impressum {
        max-width: calc(83.3333vw - 5rem);
    }
}

@media only screen and (min-width: 1920px) {
    #impressum {
        max-width: calc(83.3333vw - 7.5rem);
    }
}

#iub-pp-container footer,
#iub-pp-container #language-options,
#iub-pp-container .main-header h1 {
    display: none;
}

.page-impressum #iub-legalDoc {
    --green: #bb974e;
    --green-light: #c2a260;
    --black-dark: #24262b;
    --black: #24262b;
    --black-light: #303239;
    --legal-gray: #dacfc1;
    background: 0 0 !important;
    border-top: 0 !important;
}

    .page-impressum #iub-legalDoc .topbar {
        display: none;
    }

    .page-impressum #iub-legalDoc .pre-footer,
    .page-impressum #iub-legalDoc .summary__card {
        background: 0 0 !important;
    }

    .page-impressum #iub-legalDoc .third-parties-item {
        background: #eee9e2;
    }

    .page-impressum #iub-legalDoc .pre-footer {
        box-shadow: none;
        border-bottom: 0;
    }

#iub-legalDoc h2:before,
#iub-legalDoc .accordion__meta p:before,
#iub-legalDoc .in-case-of-issues-card header:before,
#iub-legalDoc .what-you-can-do-card header:before,
#iub-legalDoc .data-you-give-to-us-card header:before,
#iub-legalDoc .data-we-collect-card header:before {
    filter: grayscale() brightness(0.35);
}

#iub-legalDoc .check-style-list li:before,
#iub-legalDoc .legalDoc__accordion summary,
#iub-legalDoc .arrow-style-list li:before {
    filter: grayscale();
}

#iub-legalDoc .pre-footer .summary__card.in-case-of-issues-card .cta-section .btn {
    border-color: #0000;
}

/* Scroll lock when navigation open */
html.no-scroll, body.no-scroll {
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: none;
}

body.no-scroll {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
}

/* Footer legal overflow fixes */
#footer .legal {
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

    #footer .legal > span {
        white-space: normal !important;
    }

        #footer .legal > span:not(:last-child):after {
            content: ' \2022 '; /* � */
        }

@media only screen and (max-width: 599px) {
    #footer .legal {
        padding-inline: 16px;
    }

        #footer .legal > span {
            display: block;
        }

            #footer .legal > span:not(:last-child):after {
                content: none;
            }
}

.pointer {
    font-family: "Birthstone", cursive;
    font-size: 2.5rem;
    text-transform: lowercase;
}

.p_t_3_rem {
    padding-top: 3rem;
}

.main__section {
    margin-bottom: 2rem;
}

.aside-main-wrapper {
    margin-top: 2rem;
}

/* Homepage-specific mobile adjustment: remove top margin on very small screens */
@media (max-width: 480px) {
    .page-home main.content {
        margin-top: 0vh !important;
    }
}