@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Manrope:wght@400;500;600&display=swap');

:root {
    --bg: #050708;
    --bg-soft: #0c1013;
    --surface: #101417;
    --text: #f4f0e7;
    --muted: #a8adb2;
    --gold: #c69745;
    --gold-light: #e4b96f;
    --line: rgba(198, 151, 69, .28);
    --white-line: rgba(255, 255, 255, .09);
    --shell: min(1480px, calc(100% - 80px));
    --header: 88px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: "Manrope", system-ui, sans-serif;
    line-height: 1.6;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
.shell { width: var(--shell); margin: 0 auto; }
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0;
    margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}

.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 100;
    background: linear-gradient(180deg, rgba(3,5,6,.92), rgba(3,5,6,.42), transparent);
    transition: background .3s ease, border-color .3s ease;
    border-bottom: 1px solid transparent;
}
.site-header.is-scrolled {
    background: rgba(5,7,8,.92);
    backdrop-filter: blur(18px);
    border-color: var(--white-line);
}
.header-inner {
    min-height: var(--header);
    display: grid;
    grid-template-columns: 230px 1fr auto;
    align-items: center;
    gap: 32px;
}
.brand { display: inline-flex; flex-direction: column; line-height: 1; }
.brand-name {
    color: var(--gold-light);
    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    letter-spacing: .13em;
}
.brand-sub {
    margin-top: 6px;
    color: rgba(244,240,231,.55);
    font-size: 8px;
    letter-spacing: .16em;
}
.desktop-nav {
    display: flex;
    justify-content: center;
    gap: clamp(18px, 2.2vw, 38px);
}
.desktop-nav a {
    color: rgba(255,255,255,.78);
    font-size: 12px;
    letter-spacing: .045em;
    text-transform: uppercase;
    transition: color .2s ease;
}
.desktop-nav a:hover { color: var(--gold-light); }
.desktop-nav a.is-active,
.mobile-menu a.is-active { color: var(--gold-light); }
.header-actions { display: flex; align-items: center; gap: 18px; }
.language-switcher { display: flex; gap: 8px; font-size: 11px; }
.language-switcher a { color: #747b81; }
.language-switcher a.is-active, .language-switcher a:hover { color: var(--gold-light); }
.phone-link { color: var(--gold-light); font-size: 13px; white-space: nowrap; }
.button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 26px;
    border: 1px solid transparent;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-gold {
    background: linear-gradient(135deg, #d6a657, #b67f2e);
    color: #fffaf1;
    box-shadow: 0 14px 40px rgba(182,127,46,.18);
}
.button-outline { border-color: var(--line); color: var(--gold-light); }
.button-outline:hover { background: var(--gold); color: #0b0d0f; }
.menu-button {
    display: none;
    width: 46px; height: 46px;
    border: 1px solid var(--white-line);
    background: rgba(255,255,255,.02);
    padding: 11px;
}
.menu-button span:not(.sr-only) {
    display: block; height: 1px; background: #fff;
    margin: 5px 0; transition: transform .2s ease, opacity .2s ease;
}
.mobile-menu {
    display: none;
    background: rgba(5,7,8,.98);
    border-top: 1px solid var(--white-line);
}
.mobile-menu-inner {
    padding: 24px 0 32px;
    display: grid;
    gap: 18px;
}
.mobile-menu a:not(.button) { color: rgba(255,255,255,.78); }

.hero {
    min-height: 100svh;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
}
.hero-media, .hero-fallback, .hero-shade {
    position: absolute; inset: 0; width: 100%; height: 100%;
}
.hero-media { object-fit: cover; z-index: 0; }
.hero-fallback {
    z-index: -1;
    background:
        radial-gradient(circle at 72% 44%, rgba(198,151,69,.15), transparent 32%),
        linear-gradient(120deg, #050708 5%, #0e171d 55%, #080a0b 100%);
}
.hero-shade {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(2,4,5,.66) 0%, rgba(2,4,5,.30) 36%, rgba(2,4,5,.04) 74%),
        linear-gradient(0deg, rgba(2,4,5,.38) 0%, transparent 36%);
}
.hero-content {
    position: relative;
    z-index: 2;
    padding-top: var(--header);
}
.eyebrow {
    color: var(--gold-light);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .18em;
    margin: 0 0 18px;
}
h1, h2, h3 {
    font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    line-height: 1.02;
    margin-top: 0;
}
h1 {
    max-width: 760px;
    margin-bottom: 28px;
    font-size: clamp(56px, 7vw, 108px);
    letter-spacing: -.03em;
}
h1 span { color: var(--gold-light); }
.hero-copy {
    max-width: 600px;
    color: rgba(255,255,255,.76);
    font-size: 17px;
    margin-bottom: 36px;
}
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.text-link {
    color: var(--gold-light);
    font-size: 13px;
}
.text-link span { margin-left: 8px; }

.section { padding: 120px 0; }
.section-split { background: linear-gradient(180deg, #080b0d, #050708); }
.split-grid {
    display: grid;
    grid-template-columns: .88fr 1.4fr;
    gap: 90px;
    align-items: center;
}
.split-copy h2, .section-heading h2, .cta-content h2 {
    font-size: clamp(44px, 5vw, 76px);
    margin-bottom: 28px;
}
.split-copy p:not(.eyebrow) {
    max-width: 600px;
    color: var(--muted);
    font-size: 16px;
}
.media-frame {
    min-height: 560px;
    border: 1px solid var(--white-line);
    background-size: cover;
    background-position: center;
}
.about-image {
    background-image:
        linear-gradient(90deg, rgba(5,7,8,.06), rgba(5,7,8,0)),
        url('../images/about.jpg');
    background-color: #11171b;
}
.section-heading { margin-bottom: 54px; }
.section-heading.centered { text-align: center; }
.section-heading.centered h2 { margin-left: auto; margin-right: auto; }

.solution-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 14px;
}
.solution-card {
    min-height: 480px;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--white-line);
    background-color: #0e1316;
    background-size: cover;
    background-position: center;
}
.solution-card.business { background-image: url('../images/solution-business.jpg'); }
.solution-card.concierge { background-image: url('../images/solution-concierge.jpg'); }
.solution-card.mobility { background-image: url('../images/solution-mobility.jpg'); }
.solution-card.private { background-image: url('../images/solution-private.jpg'); }
.solution-card.aviation { background-image: url('../images/solution-aviation.jpg'); }
.solution-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(
        180deg,
        rgba(4,6,7,0) 0%,
        rgba(4,6,7,.02) 40%,
        rgba(4,6,7,.28) 66%,
        rgba(4,6,7,.72) 100%
    );
}
.solution-content {
    position: absolute;
    inset: auto 0 0;
    padding: 28px;
}
.solution-content h3 { font-size: 30px; margin-bottom: 12px; }
.solution-content p { color: #aeb3b6; font-size: 13px; min-height: 72px; }
.solution-content a { color: var(--gold-light); font-size: 22px; }

.process-section {
    background:
        linear-gradient(180deg, rgba(5,7,8,.24), rgba(5,7,8,.38)),
        url('../images/process-bg.jpg') center/cover;
}
.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.process-item { padding: 38px 34px; border-right: 1px solid var(--white-line); }
.process-item:last-child { border-right: 0; }
.process-number {
    display: block;
    color: var(--gold-light);
    font-family: "Cormorant Garamond", serif;
    font-size: 52px;
    margin-bottom: 20px;
}
.process-item h3 { font-size: 28px; margin-bottom: 12px; }
.process-item p { color: var(--muted); font-size: 13px; }

.cta-section {
    min-height: 460px;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
}
.cta-media, .cta-shade { position: absolute; inset: 0; }
.cta-media {
    background:
        url('../images/cta.jpg') center/cover,
        #0c1114;
}
.cta-shade {
    background: linear-gradient(
        90deg,
        rgba(4,6,7,.58) 0%,
        rgba(4,6,7,.24) 48%,
        rgba(4,6,7,.04) 100%
    );
}
.cta-content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
.cta-content h2 { margin-bottom: 12px; }
.cta-content p { color: var(--gold-light); font-size: 22px; margin: 0; }

.site-footer {
    border-top: 1px solid var(--white-line);
    padding: 48px 0;
    background: #030506;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 70px;
    align-items: start;
}
.footer-copy { color: #6f767b; font-size: 13px; max-width: 360px; }
.footer-links, .footer-contact { display: grid; gap: 12px; font-size: 13px; color: #9ca2a6; }
.footer-links a:hover, .footer-contact a:hover { color: var(--gold-light); }

@media (max-width: 1180px) {
    :root { --shell: min(100% - 48px, 1100px); }
    .header-inner { grid-template-columns: 200px 1fr auto; }
    .desktop-nav, .phone-link, .header-cta, .language-switcher { display: none; }
    .menu-button { display: block; }
    .mobile-menu.is-open { display: block; }
    .solution-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .solution-card:last-child { grid-column: 1 / -1; min-height: 360px; }
}

@media (max-width: 820px) {
    :root { --shell: min(100% - 34px, 760px); --header: 76px; }
    .header-inner { grid-template-columns: 1fr auto; min-height: var(--header); }
    .brand-name { font-size: 25px; }
    .hero { min-height: 92svh; }
    .hero-shade {
        background:
            linear-gradient(180deg, rgba(2,4,5,.32), rgba(2,4,5,.92) 72%),
            linear-gradient(90deg, rgba(2,4,5,.78), transparent);
    }
    .hero-content { align-self: end; padding-bottom: 64px; }
    h1 { font-size: clamp(52px, 15vw, 76px); }
    .hero-copy { font-size: 15px; max-width: 520px; }
    .section { padding: 82px 0; }
    .split-grid { grid-template-columns: 1fr; gap: 46px; }
    .media-frame { min-height: 430px; }
    .solution-grid { grid-template-columns: 1fr 1fr; }
    .solution-card { min-height: 400px; }
    .solution-card:last-child { grid-column: 1 / -1; }
    .process-grid { grid-template-columns: 1fr 1fr; }
    .process-item:nth-child(2) { border-right: 0; }
    .process-item:nth-child(-n+2) { border-bottom: 1px solid var(--white-line); }
    .cta-content { align-items: flex-start; flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-contact { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    :root { --shell: calc(100% - 28px); }
    .brand-sub { font-size: 7px; }
    h1 { font-size: 54px; }
    .hero-actions { align-items: stretch; flex-direction: column; }
    .hero-actions .button { width: 100%; }
    .solution-grid, .process-grid, .footer-grid { grid-template-columns: 1fr; }
    .solution-card, .solution-card:last-child { grid-column: auto; min-height: 430px; }
    .process-item { border-right: 0; border-bottom: 1px solid var(--white-line); }
    .process-item:last-child { border-bottom: 0; }
    .footer-contact { grid-column: auto; }
    .cta-section { min-height: 520px; }
}


/* TURISTO visibility + typography adjustments */
.desktop-nav a { font-size: 13px; }
.language-switcher { font-size: 12px; }
.phone-link { font-size: 14px; }
.button { font-size: 13px; }

.eyebrow { font-size: 13px; }
.hero-copy {
    color: rgba(255,255,255,.86);
    font-size: 18px;
}
.text-link { font-size: 14px; }

.split-copy p:not(.eyebrow) {
    color: #bdc2c5;
    font-size: 18px;
}

.solution-content h3 {
    font-size: 32px;
}
.solution-content p {
    color: rgba(250,250,250,.90);
    font-size: 15px;
    line-height: 1.55;
    min-height: 82px;
}

.process-item p {
    color: rgba(250,250,250,.84);
    font-size: 15px;
    line-height: 1.55;
}

.cta-content p { font-size: 24px; }

.footer-copy,
.footer-links,
.footer-contact {
    font-size: 14px;
}

@media (max-width: 820px) {
    .hero-shade {
        background:
            linear-gradient(180deg, rgba(2,4,5,.08), rgba(2,4,5,.54) 80%),
            linear-gradient(90deg, rgba(2,4,5,.40), transparent 72%);
    }

    .hero-copy { font-size: 17px; }

    .solution-overlay {
        background: linear-gradient(
            180deg,
            rgba(4,6,7,0) 0%,
            rgba(4,6,7,.04) 38%,
            rgba(4,6,7,.34) 66%,
            rgba(4,6,7,.76) 100%
        );
    }
}


/* TURISTO — process block readability correction */
.process-section {
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(180deg, rgba(5,7,8,.18), rgba(5,7,8,.28)),
        url('../images/process-bg.jpg') center/cover;
}

.process-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(3,5,6,.18) 0%,
            rgba(3,5,6,.08) 24%,
            rgba(3,5,6,.10) 100%
        );
}

.process-section .section-heading {
    position: relative;
    z-index: 2;
    width: max-content;
    max-width: calc(100% - 32px);
    margin-left: auto;
    margin-right: auto;
    padding: 18px 42px 22px;
    background: rgba(4,6,7,.50);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 18px 50px rgba(0,0,0,.20);
}

.process-section .section-heading h2 {
    margin-bottom: 0;
    color: #fffaf2;
    text-shadow: 0 2px 18px rgba(0,0,0,.85);
}

.process-section .section-heading .eyebrow {
    color: #edc477;
    text-shadow: 0 2px 10px rgba(0,0,0,.85);
}

.process-grid {
    position: relative;
    z-index: 2;
    background: rgba(4,6,7,.38);
    border-top-color: rgba(228,185,111,.46);
    border-bottom-color: rgba(228,185,111,.46);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.process-item {
    background: rgba(4,6,7,.42);
    text-shadow: 0 2px 10px rgba(0,0,0,.92);
}

.process-item:nth-child(even) {
    background: rgba(4,6,7,.50);
}

.process-number {
    color: #f0c978;
    text-shadow: 0 2px 12px rgba(0,0,0,.90);
}

.process-item h3 {
    color: #fffaf2;
    font-size: 30px;
    line-height: 1.08;
    text-shadow: 0 2px 12px rgba(0,0,0,.95);
}

.process-item p {
    color: rgba(255,255,255,.92);
    font-size: 16px;
    line-height: 1.6;
    text-shadow: 0 2px 9px rgba(0,0,0,.95);
}

@media (max-width: 820px) {
    .process-section .section-heading {
        width: auto;
        padding: 16px 22px 20px;
    }

    .process-grid {
        background: rgba(4,6,7,.48);
    }

    .process-item,
    .process-item:nth-child(even) {
        background: rgba(4,6,7,.54);
    }
}

/* =========================================================
   TURISTO — FINAL LIGHT BALANCE / WARM LUXURY
   This block intentionally overrides the earlier test styles.
   ========================================================= */

:root {
    --bg: #080b0d;
    --bg-soft: #0e1316;
    --surface: #14191c;
    --surface-warm: #171714;
    --text: #f7f2e9;
    --muted: #bec3c6;
    --gold: #c99b4c;
    --gold-light: #edc677;
    --line: rgba(222, 177, 92, .34);
    --white-line: rgba(255, 255, 255, .12);
}

body {
    background:
        radial-gradient(circle at 78% 8%, rgba(196, 145, 67, .07), transparent 30%),
        var(--bg);
    color: var(--text);
}

/* Header: still dark, but not a black strip */
.site-header {
    background: linear-gradient(
        180deg,
        rgba(6, 8, 9, .88) 0%,
        rgba(6, 8, 9, .55) 65%,
        transparent 100%
    );
}
.site-header.is-scrolled {
    background: rgba(8, 11, 13, .94);
    border-color: rgba(255,255,255,.10);
}
.brand-name { color: #efc876; }
.brand-sub { color: rgba(247,242,233,.64); font-size: 9px; }
.desktop-nav a { color: rgba(255,255,255,.84); font-size: 13px; }
.language-switcher { font-size: 12px; }
.phone-link { font-size: 14px; }
.button { font-size: 13px; }

/* Hero: visible image/video, darkness only behind text */
.hero-shade {
    background:
        linear-gradient(
            90deg,
            rgba(4, 6, 7, .64) 0%,
            rgba(4, 6, 7, .34) 32%,
            rgba(4, 6, 7, .09) 64%,
            rgba(4, 6, 7, .02) 100%
        ),
        linear-gradient(
            0deg,
            rgba(4, 6, 7, .30) 0%,
            transparent 34%
        );
}
.hero-copy {
    color: rgba(255,255,255,.90);
    font-size: 18px;
    line-height: 1.7;
}
.eyebrow { color: #edc677; font-size: 13px; }
.text-link { font-size: 14px; }

/* Section rhythm: no continuous black canvas */
.section {
    position: relative;
    padding: 116px 0;
}
.section-split {
    background:
        radial-gradient(circle at 82% 30%, rgba(204, 159, 77, .10), transparent 34%),
        linear-gradient(180deg, #11171a 0%, #0c1114 100%);
    border-top: 1px solid rgba(255,255,255,.05);
    border-bottom: 1px solid rgba(255,255,255,.05);
}
#solutions {
    background:
        radial-gradient(circle at 18% 18%, rgba(198, 151, 69, .08), transparent 30%),
        linear-gradient(180deg, #090c0e 0%, #101518 50%, #090c0e 100%);
}
.split-copy p:not(.eyebrow) {
    color: #c6cbce;
    font-size: 18px;
    line-height: 1.75;
}
.media-frame {
    border-color: rgba(255,255,255,.14);
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.about-image {
    background-image:
        linear-gradient(90deg, rgba(5,7,8,.03), rgba(5,7,8,0)),
        url('../images/about.jpg');
}

/* Headings: warmer and clearer */
.split-copy h2,
.section-heading h2,
.cta-content h2 {
    color: #fbf5ea;
    text-shadow: 0 6px 28px rgba(0,0,0,.28);
}
.section-heading { margin-bottom: 58px; }

/* Cards: photographs remain visible, text gets local protection */
.solution-grid { gap: 16px; }
.solution-card {
    min-height: 500px;
    border-color: rgba(255,255,255,.14);
    box-shadow: 0 20px 60px rgba(0,0,0,.20);
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.solution-card:hover {
    transform: translateY(-5px);
    border-color: rgba(237,198,119,.44);
    box-shadow: 0 28px 76px rgba(0,0,0,.32);
}
.solution-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(4,6,7,0) 0%,
            rgba(4,6,7,0) 38%,
            rgba(4,6,7,.18) 56%,
            rgba(4,6,7,.62) 76%,
            rgba(4,6,7,.88) 100%
        );
}
.solution-content {
    padding: 30px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(3,5,6,.10) 28%,
        rgba(3,5,6,.46) 100%
    );
}
.solution-content h3 {
    color: #fff9ef;
    font-size: 32px;
    text-shadow: 0 3px 16px rgba(0,0,0,.95);
}
.solution-content p {
    color: rgba(255,255,255,.92);
    font-size: 15px;
    line-height: 1.58;
    min-height: 82px;
    text-shadow: 0 2px 10px rgba(0,0,0,.96);
}
.solution-content a {
    color: #f0c979;
    text-shadow: 0 2px 10px rgba(0,0,0,.9);
}

/* Process: image is visible, each text column has its own translucent panel */
.process-section {
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(180deg, rgba(7,9,10,.14), rgba(7,9,10,.20)),
        url('../images/process-bg.jpg') center/cover;
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.process-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(5,7,8,.22) 0%,
            rgba(5,7,8,.05) 48%,
            rgba(5,7,8,.12) 100%
        );
}
.process-section .section-heading {
    width: auto;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    background: transparent;
    border: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}
.process-section .section-heading h2 {
    color: #fff9ef;
    margin-bottom: 0;
    text-shadow:
        0 3px 18px rgba(0,0,0,.95),
        0 0 36px rgba(0,0,0,.55);
}
.process-section .section-heading .eyebrow {
    color: #f0c979;
    text-shadow: 0 2px 12px rgba(0,0,0,.95);
}
.process-grid {
    background: transparent;
    border-top-color: rgba(240,201,121,.52);
    border-bottom-color: rgba(240,201,121,.52);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    gap: 1px;
}
.process-item,
.process-item:nth-child(even) {
    background: rgba(5,7,8,.58);
    border-right-color: rgba(255,255,255,.10);
    text-shadow: none;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.process-item {
    padding: 42px 34px;
}
.process-number {
    color: #f0c979;
    text-shadow: 0 2px 12px rgba(0,0,0,.8);
}
.process-item h3 {
    color: #fff9ef;
    font-size: 30px;
    line-height: 1.1;
    text-shadow: 0 2px 12px rgba(0,0,0,.9);
}
.process-item p {
    color: rgba(255,255,255,.90);
    font-size: 16px;
    line-height: 1.65;
    text-shadow: 0 2px 8px rgba(0,0,0,.88);
}

/* CTA: brighter and warmer than the rest */
.cta-section {
    border-top: 1px solid rgba(255,255,255,.06);
}
.cta-shade {
    background:
        linear-gradient(
            90deg,
            rgba(4,6,7,.54) 0%,
            rgba(4,6,7,.24) 44%,
            rgba(4,6,7,.03) 100%
        );
}
.cta-content p {
    color: #efc876;
    font-size: 24px;
}

/* Footer lifted from pure black */
.site-footer {
    background:
        linear-gradient(180deg, #090c0e 0%, #060809 100%);
    border-top-color: rgba(255,255,255,.10);
}
.footer-copy,
.footer-links,
.footer-contact {
    font-size: 14px;
}
.footer-copy { color: #858d92; }
.footer-links,
.footer-contact { color: #aeb5b9; }

/* Mobile keeps imagery visible and text readable */
@media (max-width: 820px) {
    .hero-shade {
        background:
            linear-gradient(
                180deg,
                rgba(4,6,7,.06) 0%,
                rgba(4,6,7,.12) 42%,
                rgba(4,6,7,.66) 100%
            ),
            linear-gradient(
                90deg,
                rgba(4,6,7,.38) 0%,
                transparent 78%
            );
    }

    .hero-copy { font-size: 17px; }

    .section { padding: 84px 0; }

    .solution-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(4,6,7,0) 0%,
                rgba(4,6,7,.02) 34%,
                rgba(4,6,7,.28) 58%,
                rgba(4,6,7,.82) 100%
            );
    }

    .process-section::before {
        background: rgba(5,7,8,.14);
    }

    .process-grid {
        background: transparent;
    }

    .process-item,
    .process-item:nth-child(even) {
        background: rgba(5,7,8,.66);
    }
}

/* =========================================================
   TURISTO — FINAL HOME PAGE POLISH
   ========================================================= */

/* More breathing room in desktop navigation */
@media (min-width: 1181px) {
    .desktop-nav { gap: clamp(25px, 2.5vw, 46px); }
    .desktop-nav a { font-weight: 400; }
}

/* About block */
.split-grid { grid-template-columns: .9fr 1.48fr; gap: clamp(64px, 6vw, 104px); }
.about-image { min-height: 590px; }

/* Solution cards — editorial proportions */
.solution-grid { gap: 18px; }
.solution-card { min-height: 560px; }
.solution-content { padding: 32px; }
.solution-content h3 { font-size: 34px; }

/* Process — independent cards instead of one continuous glass strip */
.process-section { padding: 126px 0; }
.process-section .section-heading { margin-bottom: 48px; }
.process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    border: 0;
}
.process-item,
.process-item:nth-child(even) {
    min-height: 315px;
    padding: 38px 32px 34px;
    border: 1px solid rgba(240,201,121,.26);
    border-radius: 2px;
    background: linear-gradient(180deg, rgba(7,9,10,.58), rgba(7,9,10,.74));
    box-shadow: 0 22px 60px rgba(0,0,0,.22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: transform .35s ease, border-color .35s ease, background .35s ease;
}
.process-item:hover {
    transform: translateY(-5px);
    border-color: rgba(240,201,121,.52);
    background: linear-gradient(180deg, rgba(7,9,10,.52), rgba(7,9,10,.68));
}
.process-number { font-size: 58px; margin-bottom: 28px; }
.process-item h3 { font-size: 31px; margin-bottom: 16px; }
.process-item p { font-size: 16px; }

/* Final CTA — second emotional anchor after hero */
.cta-section {
    min-height: 610px;
    padding: 0;
    background: #0b0e10;
}
.cta-media {
    background:
        url('../images/cta.jpg') center 54% / cover no-repeat,
        #0c1114;
    transform: scale(1.01);
}
.cta-shade {
    background:
        linear-gradient(90deg, rgba(4,6,7,.78) 0%, rgba(4,6,7,.47) 38%, rgba(4,6,7,.10) 72%, rgba(4,6,7,.03) 100%),
        linear-gradient(0deg, rgba(4,6,7,.24), transparent 42%);
}
.cta-content {
    min-height: 610px;
    align-items: center;
}
.cta-copy { max-width: 760px; }
.cta-content h2 {
    max-width: 760px;
    font-size: clamp(54px, 5.8vw, 86px);
    margin-bottom: 20px;
}
.cta-content p:not(.eyebrow) {
    max-width: 650px;
    color: rgba(255,255,255,.88);
    font-size: 18px;
    line-height: 1.7;
}
.cta-services {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
    margin-top: 26px;
    color: #efc876;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cta-services span:not(:last-child)::after {
    content: "·";
    margin-left: 28px;
    color: rgba(239,200,118,.55);
}
.cta-content > .button { min-width: 190px; }

/* Footer */
.site-footer { padding: 0; }
.footer-top {
    display: grid;
    grid-template-columns: 1.35fr .75fr .9fr;
    gap: 80px;
    padding: 66px 0 54px;
}
.footer-intro { max-width: 440px; }
.footer-worldwide {
    margin: 20px 0 0;
    color: #efc876;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.footer-label {
    color: #efc876;
    font-size: 11px;
    letter-spacing: .15em;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.footer-links,
.footer-contact { gap: 13px; }
.footer-phone {
    color: #f5efe5;
    font-family: "Cormorant Garamond", serif;
    font-size: 26px;
}
.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 0 24px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #6f777c;
    font-size: 12px;
}

/* Restrained reveal motion */
.reveal-section,
.reveal-item {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal-item:nth-child(2) { transition-delay: .06s; }
.reveal-item:nth-child(3) { transition-delay: .12s; }
.reveal-item:nth-child(4) { transition-delay: .18s; }
.reveal-item:nth-child(5) { transition-delay: .24s; }
.reveal-section.is-visible,
.reveal-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    .reveal-section,
    .reveal-item { opacity: 1; transform: none; transition: none; }
    .solution-card,
    .process-item,
    .button { transition: none; }
}

@media (max-width: 1180px) {
    .solution-card { min-height: 500px; }
    .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .process-item { min-height: 280px; }
    .footer-top { grid-template-columns: 1.2fr .8fr 1fr; gap: 48px; }
}

@media (max-width: 820px) {
    .split-grid { grid-template-columns: 1fr; }
    .about-image { min-height: 470px; }
    .solution-card { min-height: 470px; }
    .process-section { padding: 88px 0; }
    .process-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .process-item,
    .process-item:nth-child(even) { min-height: 270px; padding: 30px 24px; }
    .cta-section,
    .cta-content { min-height: 580px; }
    .cta-content { justify-content: center; }
    .cta-content > .button { width: auto; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 44px; }
    .footer-contact { grid-column: auto; }
}

@media (max-width: 560px) {
    .solution-card { min-height: 500px; }
    .process-grid { grid-template-columns: 1fr; }
    .process-item,
    .process-item:nth-child(even) { min-height: auto; }
    .cta-section,
    .cta-content { min-height: 640px; }
    .cta-content { padding-top: 90px; padding-bottom: 70px; }
    .cta-services { display: grid; gap: 8px; }
    .cta-services span::after { display: none; }
    .cta-content > .button { width: 100%; }
    .footer-top { grid-template-columns: 1fr; gap: 34px; }
    .footer-bottom { flex-direction: column; }
}

/* TURISTO home polish v3: informative solutions, final CTA and premium footer */
#solutions .section-heading {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.section-lead {
    max-width: 760px;
    margin: 20px auto 0;
    color: rgba(233,235,235,.72);
    font-size: 17px;
    line-height: 1.72;
}
.solution-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}
.solution-card {
    min-height: 520px;
    grid-column: span 2;
    border-radius: 3px;
}
.solution-card.private,
.solution-card.aviation {
    min-height: 460px;
    grid-column: span 3;
}
.solution-card.business { background-position: 53% center; }
.solution-card.concierge { background-position: 50% center; }
.solution-card.mobility { background-position: 60% center; }
.solution-card.private { background-position: center 58%; }
.solution-card.aviation { background-position: center 62%; }
.solution-content {
    padding: 34px;
}
.solution-index {
    display: inline-block;
    margin-bottom: 16px;
    color: #edc777;
    font-size: 12px;
    letter-spacing: .18em;
}
.solution-content h3 {
    max-width: 420px;
    margin-bottom: 10px;
}
.solution-content p {
    max-width: 520px;
    min-height: 0;
    margin: 0 0 20px;
}
.solution-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.solution-tags span {
    padding: 8px 11px 7px;
    border: 1px solid rgba(255,255,255,.20);
    background: rgba(5,7,8,.34);
    color: rgba(255,255,255,.86);
    font-size: 10px;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(7px);
}
.solution-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #f0c979;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.solution-link svg,
.footer-action svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .25s ease;
}
.solution-link:hover svg,
.footer-action:hover svg { transform: translateX(4px); }

.cta-media {
    background:
        url('../images/cta.jpg') center center / cover no-repeat,
        #0b0e10;
    transform: none;
}
.cta-shade {
    background:
        linear-gradient(90deg, rgba(4,6,7,.34) 0%, rgba(4,6,7,.16) 46%, rgba(4,6,7,.04) 72%, rgba(4,6,7,.06) 100%),
        linear-gradient(0deg, rgba(4,6,7,.30), transparent 45%);
}
.cta-content {
    justify-content: flex-start;
}
.cta-copy {
    max-width: 680px;
}
.cta-copy .button {
    margin-top: 34px;
    min-width: 200px;
}
.cta-content h2 {
    max-width: 650px;
    font-size: clamp(50px, 5.1vw, 78px);
}

.site-footer {
    overflow: hidden;
    border-top: 0;
    background:
        radial-gradient(circle at 12% 0%, rgba(201,153,72,.10), transparent 25%),
        linear-gradient(180deg, #090c0e 0%, #030506 100%);
}
.footer-signature {
    border-top: 1px solid rgba(239,200,118,.22);
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.015);
}
.footer-signature-inner {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}
.footer-signature span {
    color: #d9ad5e;
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.footer-signature strong {
    color: rgba(255,255,255,.78);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.footer-top {
    grid-template-columns: 1.25fr .65fr 1.2fr;
    gap: 72px;
    padding: 62px 0 48px;
}
.footer-intro { max-width: 460px; }
.footer-brand .brand-name {
    font-size: 42px;
    letter-spacing: .13em;
}
.footer-copy {
    max-width: 340px;
    margin-top: 30px;
    color: rgba(255,255,255,.72);
    font-size: 16px;
    line-height: 1.75;
}
.footer-label {
    display: block;
    margin-bottom: 18px;
    color: #d9ad5e;
    font-size: 10px;
    letter-spacing: .18em;
}
.footer-links {
    align-items: flex-start;
    gap: 0;
}
.footer-links a {
    width: fit-content;
    padding: 7px 0;
    color: rgba(255,255,255,.80);
    font-size: 15px;
    transition: color .2s ease, transform .2s ease;
}
.footer-links a:hover {
    color: #efc876;
    transform: translateX(3px);
}
.footer-contact { gap: 0; }
.footer-contact-row {
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 14px;
    padding: 11px 0;
    color: rgba(255,255,255,.82);
}
.footer-contact-row small {
    display: block;
    margin-bottom: 3px;
    color: rgba(255,255,255,.50);
    font-size: 10px;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.footer-contact-row strong {
    color: inherit;
    font-size: 15px;
    font-weight: 400;
}
.footer-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(239,200,118,.24);
    color: #efc876;
}
.footer-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.footer-action {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-top: 22px;
    padding: 0 18px;
    border: 1px solid rgba(239,200,118,.45);
    color: #f0c979;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
    transition: border-color .2s ease, background .2s ease;
}
.footer-action:hover {
    border-color: #efc876;
    background: rgba(239,200,118,.07);
}
.footer-bottom {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 19px 0 22px;
}
.footer-languages {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}
.footer-languages a {
    color: #676e72;
    font-size: 10px;
    letter-spacing: .1em;
}
.footer-languages a.is-active { color: #efc876; }

@media (max-width: 1180px) {
    .solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .solution-card,
    .solution-card.private,
    .solution-card.aviation { grid-column: span 1; min-height: 500px; }
    .solution-card:last-child { grid-column: 1 / -1; min-height: 440px; }
    .footer-top { grid-template-columns: 1.1fr .7fr 1.2fr; gap: 48px; }
}
@media (max-width: 820px) {
    .solution-card,
    .solution-card.private,
    .solution-card.aviation { min-height: 470px; }
    .cta-media { background-position: 64% center; }
    .cta-shade {
        background: linear-gradient(90deg, rgba(4,6,7,.55), rgba(4,6,7,.18) 72%, rgba(4,6,7,.10));
    }
    .footer-top { grid-template-columns: 1fr 1fr; }
    .footer-contact { grid-column: 1 / -1; max-width: 520px; }
    .footer-bottom { grid-template-columns: 1fr auto; }
    .footer-languages { grid-column: 1 / -1; justify-content: flex-start; margin-top: 8px; }
}
@media (max-width: 560px) {
    .section-lead { font-size: 15px; }
    .solution-grid { grid-template-columns: 1fr; }
    .solution-card,
    .solution-card.private,
    .solution-card.aviation,
    .solution-card:last-child { grid-column: auto; min-height: 520px; }
    .solution-content { padding: 26px; }
    .solution-content h3 { font-size: 30px; }
    .solution-tags { margin-bottom: 20px; }
    .cta-media { background-position: 70% center; }
    .cta-shade {
        background:
            linear-gradient(180deg, rgba(4,6,7,.60) 0%, rgba(4,6,7,.50) 56%, rgba(4,6,7,.76) 100%),
            linear-gradient(90deg, rgba(4,6,7,.44), rgba(4,6,7,.16));
    }
    .cta-content { align-items: flex-end; }
    .cta-content h2 { font-size: 46px; }
    .footer-signature-inner { align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; padding: 18px 0; }
    .footer-top { grid-template-columns: 1fr; padding: 46px 0 38px; }
    .footer-contact { grid-column: auto; }
    .footer-bottom { display: flex; align-items: flex-start; }
    .footer-languages { margin-top: 2px; }
}

/* CTA separation: an editorial panel on a warm light surface */
.cta-section {
    min-height: 0;
    display: block;
    padding: 68px 0 38px;
    overflow: visible;
    background:
        radial-gradient(circle at 12% 0%, rgba(198,151,69,.10), transparent 28%),
        linear-gradient(180deg, #eee8de 0%, #f7f3ec 100%);
}
.cta-shell { position: relative; }
.cta-panel {
    min-height: 610px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(91,71,41,.16);
    background: #0b0e10;
    box-shadow: 0 34px 90px rgba(29,23,16,.20);
}
.cta-panel .cta-media,
.cta-panel .cta-shade {
    position: absolute;
    inset: 0;
}
.cta-panel .cta-content {
    min-height: 610px;
    padding: 62px;
}

@media (max-width: 820px) {
    .cta-section { padding: 46px 0 30px; }
    .cta-panel,
    .cta-panel .cta-content { min-height: 610px; }
    .cta-panel .cta-content { padding: 50px 38px; }
}
@media (max-width: 560px) {
    .cta-section { padding: 28px 0 22px; }
    .cta-panel,
    .cta-panel .cta-content { min-height: 650px; }
    .cta-panel .cta-content { padding: 58px 24px 34px; }
}

/* TURISTO for business */
.business-hero {
    min-height: 860px;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
    background: #060809;
}
.business-hero-media,
.business-hero-shade {
    position: absolute;
    inset: 0;
}
.business-hero-media {
    background: url('../images/business-hero.jpg') center / cover no-repeat;
}
.business-hero-shade {
    background:
        linear-gradient(90deg, rgba(3,5,6,.54) 0%, rgba(3,5,6,.22) 46%, rgba(3,5,6,.05) 74%),
        linear-gradient(0deg, rgba(3,5,6,.40), transparent 40%);
}
.business-hero-content {
    position: relative;
    z-index: 2;
    padding-top: var(--header);
}
.business-hero h1 {
    max-width: 900px;
    margin-bottom: 30px;
    font-size: clamp(58px, 6.6vw, 102px);
}
.business-hero-copy {
    max-width: 690px;
    margin: 0 0 38px;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 1.72;
}
.business-brief {
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: #090c0e;
}
.business-brief-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.business-brief-item {
    min-height: 210px;
    padding: 38px 32px 32px;
    border-right: 1px solid rgba(255,255,255,.08);
}
.business-brief-item:last-child { border-right: 0; }
.business-brief-item > span {
    display: block;
    margin-bottom: 22px;
    color: #d9ad5e;
    font-size: 11px;
    letter-spacing: .18em;
}
.business-brief-item strong {
    display: block;
    margin-bottom: 10px;
    color: #fff8ec;
    font-family: "Cormorant Garamond", serif;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.1;
}
.business-brief-item p {
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: 13px;
}
.business-cases,
.business-flow {
    padding: 120px 0;
    background:
        radial-gradient(circle at 8% 0%, rgba(198,151,69,.09), transparent 24%),
        #f3eee6;
    color: #16191b;
}
.business-heading {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: end;
    gap: 90px;
    margin-bottom: 62px;
}
.business-heading h2 {
    max-width: 800px;
    margin: 0;
    color: #17191b;
    font-size: clamp(48px, 5vw, 78px);
}
.business-heading > p {
    max-width: 580px;
    margin: 0 0 8px;
    color: #5d6265;
    font-size: 17px;
    line-height: 1.75;
}
.business-case-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(34,31,27,.18);
    border-left: 1px solid rgba(34,31,27,.18);
}
.business-case-card {
    min-height: 330px;
    padding: 48px;
    border-right: 1px solid rgba(34,31,27,.18);
    border-bottom: 1px solid rgba(34,31,27,.18);
    background: rgba(255,255,255,.25);
    transition: background .3s ease, transform .3s ease;
}
.business-case-card:hover {
    background: rgba(255,255,255,.58);
    transform: translateY(-3px);
}
.business-case-number {
    display: block;
    margin-bottom: 48px;
    color: #a87324;
    font-size: 12px;
    letter-spacing: .18em;
}
.business-case-card h3 {
    max-width: 500px;
    margin-bottom: 18px;
    color: #17191b;
    font-size: 39px;
}
.business-case-card p {
    max-width: 560px;
    margin: 0;
    color: #5c6265;
    font-size: 15px;
    line-height: 1.72;
}
.business-assistant {
    padding: 128px 0;
    background:
        radial-gradient(circle at 80% 35%, rgba(198,151,69,.08), transparent 26%),
        linear-gradient(180deg, #080b0d, #050708);
}
.business-assistant-grid {
    display: grid;
    grid-template-columns: .95fr 1.15fr;
    gap: 84px;
    align-items: center;
}
.business-assistant-copy h2 {
    max-width: 680px;
    margin-bottom: 26px;
    font-size: clamp(48px, 5vw, 76px);
}
.business-assistant-lead {
    max-width: 650px;
    margin: 0 0 38px;
    color: rgba(255,255,255,.72);
    font-size: 17px;
    line-height: 1.75;
}
.business-checklist {
    border-top: 1px solid rgba(255,255,255,.10);
}
.business-checklist > div {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.business-checklist span {
    width: 6px;
    height: 6px;
    margin-top: 10px;
    border: 1px solid #e1b564;
    transform: rotate(45deg);
}
.business-checklist p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 14px;
    line-height: 1.65;
}
.business-assistant-media {
    min-height: 700px;
    border: 1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(90deg, rgba(5,7,8,.10), transparent 40%),
        url('../images/process1-bg.jpg') center / cover no-repeat;
    box-shadow: 0 30px 90px rgba(0,0,0,.30);
}
.business-services {
    padding: 120px 0;
    background: #f7f3ec;
    color: #17191b;
}
.business-services .section-heading h2 {
    max-width: 940px;
    color: #17191b;
    text-shadow: none;
}
.business-services .section-lead { color: #62676a; }
.business-service-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(34,31,27,.17);
}
.business-service-list article {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 24px;
    min-height: 190px;
    padding: 34px 30px;
    border-bottom: 1px solid rgba(34,31,27,.17);
}
.business-service-list article:nth-child(odd) {
    border-right: 1px solid rgba(34,31,27,.17);
}
.business-service-list article > span {
    color: #aa772b;
    font-size: 11px;
    letter-spacing: .15em;
}
.business-service-list h3 {
    margin-bottom: 10px;
    color: #17191b;
    font-size: 32px;
}
.business-service-list p {
    max-width: 540px;
    margin: 0;
    color: #5e6366;
    font-size: 14px;
    line-height: 1.65;
}
.business-change {
    min-height: 760px;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
}
.business-change-media,
.business-change-shade {
    position: absolute;
    inset: 0;
}
.business-change-media {
    background: url('../images/solution-mobility.jpg') center 48% / cover no-repeat;
}
.business-change-shade {
    background:
        linear-gradient(90deg, rgba(3,5,6,.88) 0%, rgba(3,5,6,.70) 43%, rgba(3,5,6,.14) 78%),
        linear-gradient(0deg, rgba(3,5,6,.30), transparent 44%);
}
.business-change-content {
    position: relative;
    z-index: 2;
}
.business-change-content h2 {
    max-width: 820px;
    margin-bottom: 28px;
    font-size: clamp(50px, 5.2vw, 82px);
}
.business-change-content > p:not(.eyebrow) {
    max-width: 680px;
    margin: 0;
    color: rgba(255,255,255,.80);
    font-size: 17px;
    line-height: 1.75;
}
.business-change-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 32px;
    margin-top: 34px;
    color: #efc876;
    font-size: 12px;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.business-change-actions span:not(:last-child)::after {
    content: "·";
    margin-left: 32px;
    color: rgba(239,200,118,.52);
}
.business-flow { background: #eee8de; }
.business-flow-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(34,31,27,.18);
    border-left: 1px solid rgba(34,31,27,.18);
}
.business-flow-grid article {
    min-height: 330px;
    padding: 46px 40px;
    border-right: 1px solid rgba(34,31,27,.18);
    border-bottom: 1px solid rgba(34,31,27,.18);
}
.business-flow-grid article > span {
    display: block;
    margin-bottom: 62px;
    color: #a87324;
    font-size: 11px;
    letter-spacing: .18em;
}
.business-flow-grid h3 {
    margin-bottom: 16px;
    color: #17191b;
    font-size: 34px;
}
.business-flow-grid p {
    margin: 0;
    color: #5e6366;
    font-size: 14px;
    line-height: 1.7;
}
.business-final-cta {
    padding-top: 54px;
    background: #e5ddd1;
}

@media (max-width: 1180px) {
    .business-hero { min-height: 780px; }
    .business-brief-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .business-brief-item:nth-child(2) { border-right: 0; }
    .business-brief-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.08); }
    .business-assistant-grid { gap: 52px; }
    .business-assistant-media { min-height: 620px; }
}
@media (max-width: 820px) {
    .business-hero { min-height: 760px; }
    .business-hero-media { background-position: 64% center; }
    .business-hero-shade {
        background: linear-gradient(90deg, rgba(3,5,6,.68), rgba(3,5,6,.20) 78%);
    }
    .business-cases,
    .business-flow,
    .business-assistant,
    .business-services { padding: 88px 0; }
    .business-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 46px; }
    .business-case-card { padding: 36px; }
    .business-assistant-grid { grid-template-columns: 1fr; }
    .business-assistant-media { min-height: 500px; }
    .business-change { min-height: 680px; }
    .business-flow-grid { grid-template-columns: 1fr; }
    .business-flow-grid article { min-height: auto; }
    .business-flow-grid article > span { margin-bottom: 34px; }
}
@media (max-width: 560px) {
    .business-hero {
        min-height: 760px;
        align-items: end;
    }
    .business-hero-media { background-position: 69% center; }
    .business-hero-shade {
        background:
            linear-gradient(180deg, rgba(3,5,6,.18), rgba(3,5,6,.78) 63%, rgba(3,5,6,.94)),
            linear-gradient(90deg, rgba(3,5,6,.32), rgba(3,5,6,.08));
    }
    .business-hero-content { padding-top: 180px; padding-bottom: 64px; }
    .business-hero h1 { font-size: 49px; }
    .business-hero-copy { font-size: 15px; }
    .business-brief-grid,
    .business-case-grid,
    .business-service-list { grid-template-columns: 1fr; }
    .business-brief-item,
    .business-brief-item:nth-child(2) {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .business-case-card { min-height: auto; padding: 32px 26px; }
    .business-case-number { margin-bottom: 34px; }
    .business-case-card h3 { font-size: 34px; }
    .business-assistant-media { min-height: 420px; }
    .business-service-list article { grid-template-columns: 38px 1fr; padding: 28px 8px; }
    .business-service-list article:nth-child(odd) { border-right: 0; }
    .business-change { min-height: 700px; align-items: end; }
    .business-change-media { background-position: 60% center; }
    .business-change-shade {
        background: linear-gradient(180deg, rgba(3,5,6,.18), rgba(3,5,6,.88) 65%, rgba(3,5,6,.96));
    }
    .business-change-content { padding-bottom: 64px; }
    .business-change-content h2 { font-size: 46px; }
    .business-change-actions { display: grid; gap: 8px; }
    .business-change-actions span::after { display: none; }
    .business-flow-grid article { padding: 34px 26px; }
    .business-final-cta { padding-top: 30px; }
}

/* TURISTO destinations */
.destinations-hero {
    min-height: 880px;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
    background: #090b0c;
}
.destinations-hero-media,
.destinations-hero-shade {
    position: absolute;
    inset: 0;
}
.destinations-hero-media {
    background: url('../images/destinations-hero.jpg') center / cover no-repeat;
}
.destinations-hero-shade {
    background:
        linear-gradient(90deg, rgba(3,5,6,.32) 0%, rgba(3,5,6,.08) 44%, rgba(3,5,6,0) 72%),
        linear-gradient(0deg, rgba(3,5,6,.32), transparent 42%);
}
.destinations-hero-content {
    position: relative;
    z-index: 2;
    padding-top: var(--header);
}
.destinations-hero h1 {
    max-width: 860px;
    margin-bottom: 30px;
    font-size: clamp(62px, 7vw, 108px);
}
.destinations-hero-copy {
    max-width: 650px;
    margin: 0 0 38px;
    color: rgba(255,255,255,.84);
    font-size: 18px;
    line-height: 1.72;
}
.destinations-intro {
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: #090c0e;
}
.destinations-intro-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.destinations-intro-grid > div {
    min-height: 220px;
    padding: 42px 38px 34px;
    border-right: 1px solid rgba(255,255,255,.08);
}
.destinations-intro-grid > div:last-child { border-right: 0; }
.destinations-intro-grid span {
    display: block;
    margin-bottom: 24px;
    color: #d9ad5e;
    font-size: 11px;
    letter-spacing: .18em;
}
.destinations-intro-grid strong {
    display: block;
    margin-bottom: 10px;
    color: #fff8ec;
    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.1;
}
.destinations-intro-grid p {
    max-width: 380px;
    margin: 0;
    color: rgba(255,255,255,.64);
    font-size: 14px;
    line-height: 1.65;
}
.destinations-featured,
.destinations-regions {
    padding: 120px 0;
    background:
        radial-gradient(circle at 10% 0%, rgba(198,151,69,.09), transparent 25%),
        #f4efe7;
    color: #17191b;
}
.destinations-heading {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: end;
    gap: 90px;
    margin-bottom: 62px;
}
.destinations-heading h2 {
    max-width: 860px;
    margin: 0;
    color: #17191b;
    font-size: clamp(50px, 5vw, 80px);
}
.destinations-heading > p {
    max-width: 590px;
    margin: 0 0 8px;
    color: #5d6265;
    font-size: 17px;
    line-height: 1.75;
}
.destination-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.destination-card {
    min-height: 540px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    border: 1px solid rgba(34,31,27,.15);
    background-color: #15191b;
    background-position: center;
    background-size: cover;
    box-shadow: 0 18px 50px rgba(34,27,19,.10);
    transition: transform .35s ease, box-shadow .35s ease;
}
.destination-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 26px 70px rgba(34,27,19,.18);
}
.destination-card--turkey { background-image: url('../images/destination-turkey.jpg'); }
.destination-card--uae { background-image: url('../images/destination-uae.jpg'); }
.destination-card--asia { background-image: url('../images/destination-asia.jpg'); }
.destination-card--islands { background-image: url('../images/destination-islands.jpg'); }
.destination-card--russia { background-image: url('../images/destination-russia.jpg'); }
.destination-card--europe { background-image: url('../images/destination-europe.jpg'); }
.destination-card-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(3,5,6,.24), transparent 38%),
        linear-gradient(0deg, rgba(3,5,6,.94) 0%, rgba(3,5,6,.66) 34%, transparent 70%);
}
.destination-card-top,
.destination-card-content {
    position: relative;
    z-index: 2;
}
.destination-card-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 26px 28px;
    color: #f1ca7d;
    font-size: 10px;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.destination-card-top small { font-size: inherit; }
.destination-card-content { padding: 32px 30px; }
.destination-card-content h3 {
    margin-bottom: 12px;
    color: #fff9ef;
    font-size: 40px;
    text-shadow: 0 3px 18px rgba(0,0,0,.65);
}
.destination-card-content > p {
    min-height: 72px;
    margin: 0 0 18px;
    color: rgba(255,255,255,.84);
    font-size: 14px;
    line-height: 1.65;
}
.destination-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}
.destination-card-tags span {
    padding: 7px 9px 6px;
    border: 1px solid rgba(255,255,255,.19);
    color: rgba(255,255,255,.80);
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.destination-card-content > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #efc876;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.destination-card-content > a svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .25s ease;
}
.destination-card-content > a:hover svg { transform: translateX(4px); }
.destinations-logic {
    padding: 126px 0;
    background:
        radial-gradient(circle at 18% 14%, rgba(198,151,69,.09), transparent 28%),
        linear-gradient(180deg, #0b0f11, #050708);
}
.destinations-logic .section-heading { max-width: 980px; margin-left: auto; margin-right: auto; }
.destinations-logic-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.10);
    border-left: 1px solid rgba(255,255,255,.10);
}
.destinations-logic-grid article {
    min-height: 330px;
    padding: 42px 32px;
    border-right: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.destinations-logic-grid article > span {
    display: block;
    margin-bottom: 66px;
    color: #d9ad5e;
    font-size: 11px;
    letter-spacing: .18em;
}
.destinations-logic-grid h3 {
    margin-bottom: 16px;
    color: #fff8ec;
    font-size: 32px;
}
.destinations-logic-grid p {
    margin: 0;
    color: rgba(255,255,255,.65);
    font-size: 14px;
    line-height: 1.68;
}
.destinations-regions { background: #eee8de; }
.destinations-region-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(34,31,27,.18);
}
.destinations-region-grid article {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 22px;
    min-height: 190px;
    padding: 36px 30px;
    border-bottom: 1px solid rgba(34,31,27,.18);
}
.destinations-region-grid article:nth-child(odd) { border-right: 1px solid rgba(34,31,27,.18); }
.destinations-region-grid article > span {
    color: #a87324;
    font-size: 11px;
    letter-spacing: .16em;
}
.destinations-region-grid h3 {
    margin-bottom: 12px;
    color: #17191b;
    font-size: 32px;
}
.destinations-region-grid p {
    margin: 0;
    color: #62676a;
    font-size: 14px;
    line-height: 1.8;
}
.destinations-help {
    min-height: 310px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    margin-top: 72px;
    padding: 56px 62px;
    border: 1px solid rgba(198,151,69,.24);
    background:
        radial-gradient(circle at 88% 20%, rgba(198,151,69,.11), transparent 24%),
        #0a0d0f;
    color: #fff;
}
.destinations-help h2 {
    margin-bottom: 16px;
    font-size: clamp(42px, 4vw, 66px);
}
.destinations-help > div > p:not(.eyebrow) {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 15px;
    line-height: 1.7;
}
.destinations-help > .button { flex: 0 0 auto; }
.destinations-final-cta { background: #e3dbcf; }
.destinations-cta-media {
    position: absolute;
    inset: 0;
    background: url('../images/solution-private.jpg') center / cover no-repeat;
}

@media (max-width: 1180px) {
    .destination-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .destinations-logic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .destinations-logic-grid article { min-height: 280px; }
}
@media (max-width: 820px) {
    .destinations-hero { min-height: 780px; }
    .destinations-hero-media { background-position: 62% center; }
    .destinations-intro-grid { grid-template-columns: 1fr; }
    .destinations-intro-grid > div { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
    .destinations-featured,
    .destinations-logic,
    .destinations-regions { padding: 88px 0; }
    .destinations-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 46px; }
    .destination-card { min-height: 520px; }
    .destinations-region-grid { grid-template-columns: 1fr; }
    .destinations-region-grid article:nth-child(odd) { border-right: 0; }
    .destinations-help { align-items: flex-start; flex-direction: column; padding: 44px; }
}
@media (max-width: 560px) {
    .destinations-hero { min-height: 760px; align-items: end; }
    .destinations-hero-media { background-position: 68% center; }
    .destinations-hero-shade {
        background:
            linear-gradient(180deg, rgba(3,5,6,.08), rgba(3,5,6,.70) 60%, rgba(3,5,6,.93)),
            linear-gradient(90deg, rgba(3,5,6,.35), transparent 72%);
    }
    .destinations-hero-content { padding-top: 180px; padding-bottom: 64px; }
    .destinations-hero h1 { font-size: 50px; }
    .destinations-hero-copy { font-size: 15px; }
    .destination-card-grid,
    .destinations-logic-grid { grid-template-columns: 1fr; }
    .destination-card { min-height: 520px; }
    .destination-card-content { padding: 28px 24px; }
    .destination-card-content h3 { font-size: 36px; }
    .destinations-logic-grid article { min-height: auto; padding: 34px 26px; }
    .destinations-logic-grid article > span { margin-bottom: 34px; }
    .destinations-region-grid article { grid-template-columns: 38px 1fr; padding: 30px 8px; }
    .destinations-help { min-height: 0; margin-top: 46px; padding: 34px 26px; }
    .destinations-help > .button { width: 100%; }
}

/* TURISTO search */
.search-page {
    background: #f1ece3;
    color: #17191b;
}
.search-hero {
    min-height: 700px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: calc(var(--header) + 82px) 0 74px;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(3,5,6,.95) 0%, rgba(3,5,6,.83) 46%, rgba(3,5,6,.54) 100%),
        linear-gradient(0deg, rgba(3,5,6,.88), rgba(3,5,6,.05) 64%),
        url('../images/destinations-hero.jpg') center 44% / cover no-repeat;
    color: #fff;
}
.search-hero-glow {
    position: absolute;
    width: 700px;
    height: 700px;
    top: -260px;
    right: -160px;
    border-radius: 50%;
    background: rgba(198,151,69,.18);
    filter: blur(120px);
    pointer-events: none;
}
.search-hero-heading {
    position: relative;
    z-index: 2;
    margin-bottom: 48px;
}
.search-hero-heading h1 {
    max-width: 980px;
    margin-bottom: 24px;
    font-size: clamp(64px, 6.3vw, 100px);
}
.search-hero-heading > p:not(.eyebrow) {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 17px;
    line-height: 1.75;
}
.search-console-wrap {
    position: relative;
    z-index: 3;
}
.search-console {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 24px;
    background: rgba(249,246,240,.97);
    color: #17191b;
    box-shadow: 0 30px 100px rgba(0,0,0,.34);
    backdrop-filter: blur(18px);
}
.search-tabs {
    display: flex;
    min-height: 72px;
    padding: 0 24px;
    border-bottom: 1px solid rgba(34,31,27,.12);
}
.search-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 26px;
    border: 0;
    background: transparent;
    color: #777a7c;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.search-tab::after {
    content: "";
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: -1px;
    height: 2px;
    transform: scaleX(0);
    background: #bc8735;
    transition: transform .25s ease;
}
.search-tab:hover,
.search-tab.is-active { color: #17191b; }
.search-tab.is-active::after { transform: scaleX(1); }
.search-tab-icon {
    width: 21px;
    height: 21px;
    display: grid;
    place-items: center;
}
.search-tab-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.search-transport-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 15px 24px;
    border-bottom: 1px solid rgba(34,31,27,.12);
    background: rgba(198,151,69,.055);
}
.search-transport-row[hidden] { display: none; }
.search-transport-row > span {
    margin-right: 8px;
    color: #8a7a64;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.search-transport-row button {
    padding: 8px 13px;
    border: 1px solid rgba(34,31,27,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.52);
    color: #666a6c;
    cursor: pointer;
    font-size: 10px;
    transition: .2s ease;
}
.search-transport-row button:hover,
.search-transport-row button.is-active {
    border-color: #b98535;
    background: #171a1c;
    color: #efc876;
}
.search-fields {
    display: grid;
    grid-template-columns: minmax(260px, 1.55fr) minmax(210px, 1fr) minmax(180px, .82fr) 180px;
    align-items: stretch;
    padding: 20px 24px;
}
.search-console.has-origin .search-fields {
    grid-template-columns: minmax(150px, .75fr) minmax(220px, 1.35fr) minmax(190px, 1fr) minmax(170px, .8fr) 170px;
}
.search-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 8px 24px;
    border-right: 1px solid rgba(34,31,27,.14);
}
.search-field[hidden] { display: none; }
.search-field > span {
    margin-bottom: 7px;
    color: #8a7a64;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.search-field input,
.search-field select {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #17191b;
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    font-weight: 600;
}
.search-field input::placeholder { color: #777a7c; opacity: 1; }
.search-field select { cursor: pointer; }
.search-submit {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 24px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #d6a657, #b67f2e);
    color: #fffaf1;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: .10em;
    text-transform: uppercase;
    box-shadow: 0 14px 34px rgba(182,127,46,.24);
    transition: transform .2s ease, box-shadow .2s ease;
}
.search-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(182,127,46,.32);
}
.search-submit svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.search-quick-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 0 24px 22px;
}
.search-quick-row > span {
    margin-right: 4px;
    color: #8c8e90;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.search-quick-row button,
.search-filter-chips button {
    padding: 9px 13px;
    border: 1px solid rgba(34,31,27,.13);
    border-radius: 999px;
    background: transparent;
    color: #606467;
    cursor: pointer;
    font-size: 11px;
    transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.search-quick-row button:hover {
    border-color: rgba(182,127,46,.55);
    color: #9b681d;
}
.search-assurance {
    border-bottom: 1px solid rgba(34,31,27,.14);
    background: #eee8de;
}
.search-assurance-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.search-assurance article {
    min-height: 190px;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 22px;
    align-content: center;
    padding: 34px 38px;
    border-right: 1px solid rgba(34,31,27,.14);
}
.search-assurance article:last-child { border-right: 0; }
.search-assurance article > span {
    color: #a87324;
    font-size: 10px;
    letter-spacing: .16em;
}
.search-assurance strong {
    display: block;
    margin-bottom: 8px;
    font-family: "Cormorant Garamond", serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.1;
}
.search-assurance p {
    margin: 0;
    color: #666a6d;
    font-size: 13px;
    line-height: 1.65;
}
.search-results {
    padding: 118px 0 126px;
    background:
        radial-gradient(circle at 95% 8%, rgba(198,151,69,.09), transparent 22%),
        #f4efe7;
}
.search-results-heading {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 42px;
}
.search-results-heading h2 {
    max-width: 880px;
    margin: 0;
    font-size: clamp(52px, 5vw, 78px);
    color: #17191b;
}
.search-results-note {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    align-items: center;
    padding: 20px 0;
    border-top: 1px solid rgba(34,31,27,.16);
    border-bottom: 1px solid rgba(34,31,27,.16);
}
.maria-mark {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(182,127,46,.45);
    border-radius: 50%;
    color: #b67f2e;
    font-family: "Cormorant Garamond", serif;
    font-size: 26px;
}
.search-results-note p {
    margin: 0;
    color: #6b6e70;
    font-size: 12px;
    line-height: 1.55;
}
.search-results-note strong {
    display: block;
    margin-bottom: 3px;
    color: #1b1d1f;
    font-size: 12px;
    font-weight: 600;
}
.search-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px;
}
.search-filter-chips button {
    padding: 11px 16px;
    background: rgba(255,255,255,.45);
}
.search-filter-chips button:hover,
.search-filter-chips button.is-active {
    border-color: #b98535;
    background: #171a1c;
    color: #efc876;
}
.search-results-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}
.search-filter-panel {
    position: sticky;
    top: calc(var(--header) + 20px);
    padding: 26px;
    border: 1px solid rgba(34,31,27,.14);
    border-radius: 18px;
    background: rgba(255,255,255,.46);
}
.search-filter-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(34,31,27,.13);
}
.search-filter-panel-head > span {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.search-filter-panel-head button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #a87324;
    cursor: pointer;
    font-size: 10px;
}
.search-filter-panel fieldset {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 22px 0;
    border: 0;
    border-bottom: 1px solid rgba(34,31,27,.12);
}
.search-filter-panel legend {
    width: 100%;
    margin-bottom: 12px;
    color: #26282a;
    font-family: "Cormorant Garamond", serif;
    font-size: 20px;
    font-weight: 600;
}
.search-filter-panel label {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #65696b;
    cursor: pointer;
    font-size: 12px;
}
.search-filter-panel input,
.search-result-actions input {
    width: 15px;
    height: 15px;
    accent-color: #b67f2e;
}
.search-filter-footnote {
    margin: 20px 0 0;
    color: #8b8d8e;
    font-size: 10px;
    line-height: 1.6;
}
.search-result-list { display: grid; gap: 18px; }
.search-result-card {
    min-height: 370px;
    display: grid;
    grid-template-columns: minmax(300px, .9fr) minmax(0, 1.25fr);
    overflow: hidden;
    border: 1px solid rgba(34,31,27,.14);
    border-radius: 20px;
    background: rgba(255,255,255,.64);
    box-shadow: 0 18px 48px rgba(43,35,25,.07);
    transition: transform .3s ease, box-shadow .3s ease;
}
.search-result-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 26px 64px rgba(43,35,25,.12);
}
.search-result-card[hidden] { display: none; }
.search-result-media {
    min-height: 370px;
    position: relative;
    background-position: center;
    background-size: cover;
}
.search-result-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(3,5,6,.12), transparent 58%, rgba(3,5,6,.22));
}
.search-result-media > span {
    position: absolute;
    z-index: 2;
    top: 20px;
    left: 20px;
    padding: 8px 11px;
    border: 1px solid rgba(239,200,118,.46);
    border-radius: 999px;
    background: rgba(4,6,7,.68);
    color: #efc876;
    font-size: 9px;
    letter-spacing: .10em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}
.search-result-media > button {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 50%;
    background: rgba(4,6,7,.52);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(8px);
}
.search-result-media > button.is-saved { color: #efc876; }
.search-result-media svg {
    width: 19px;
    height: 19px;
    fill: transparent;
    stroke: currentColor;
    stroke-width: 1.5;
}
.search-result-media > button.is-saved svg { fill: currentColor; }
.search-result-body {
    display: flex;
    flex-direction: column;
    padding: 32px 34px 28px;
}
.search-result-topline {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 13px;
    color: #a87324;
    font-size: 10px;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.search-result-topline small {
    color: #777b7d;
    font-size: 10px;
    letter-spacing: .03em;
    text-transform: none;
}
.search-result-body h3 {
    margin-bottom: 12px;
    color: #17191b;
    font-size: 38px;
}
.search-result-body > p {
    margin: 0 0 18px;
    color: #64686a;
    font-size: 13px;
    line-height: 1.7;
}
.search-result-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 22px;
}
.search-result-tags span {
    padding: 6px 9px;
    border: 1px solid rgba(34,31,27,.13);
    color: #737678;
    font-size: 9px;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.search-result-footer {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(34,31,27,.12);
}
.search-result-footer > div:first-child small {
    display: block;
    margin-bottom: 3px;
    color: #8b8d8e;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.search-result-footer > div:first-child strong {
    font-family: "Cormorant Garamond", serif;
    font-size: 24px;
    font-weight: 600;
}
.search-result-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}
.search-result-actions label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #777a7c;
    cursor: pointer;
    font-size: 10px;
}
.search-result-actions > a {
    color: #a87324;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.search-result-actions > a span {
    display: inline-block;
    margin-left: 7px;
    transition: transform .2s ease;
}
.search-result-actions > a:hover span { transform: translateX(4px); }
.search-result-expand { display: none; }
.search-empty {
    margin: 0;
    padding: 42px;
    border: 1px solid rgba(34,31,27,.14);
    border-radius: 18px;
    color: #686c6e;
    text-align: center;
}
.search-request {
    padding: 110px 0;
    background:
        radial-gradient(circle at 8% 0%, rgba(198,151,69,.14), transparent 28%),
        linear-gradient(135deg, #0c1012, #050708 68%);
    color: #fff;
}
.search-request-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 100px;
    align-items: start;
}
.search-request h2 {
    max-width: 780px;
    margin: 0;
    font-size: clamp(54px, 5vw, 80px);
}
.search-request-grid > div:last-child > p {
    margin: 0 0 24px;
    color: rgba(255,255,255,.68);
    font-size: 15px;
    line-height: 1.75;
}
.search-request-example {
    margin-bottom: 30px;
    padding: 22px 24px;
    border-left: 1px solid #c69745;
    background: rgba(255,255,255,.04);
    color: #e5c487;
    font-family: "Cormorant Garamond", serif;
    font-size: 23px;
    line-height: 1.45;
}

@media (max-width: 1180px) {
    .search-fields,
    .search-console.has-origin .search-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 0;
    }
    .search-field:nth-of-type(2) { border-right: 0; }
    .search-submit { margin-left: 20px; }
    .search-assurance article { padding: 30px 24px; }
    .search-results-layout { grid-template-columns: 230px minmax(0, 1fr); }
    .search-result-card { grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr); }
    .search-result-footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 820px) {
    .search-hero { min-height: auto; padding: calc(var(--header) + 70px) 0 72px; }
    .search-hero-heading { margin-bottom: 38px; }
    .search-hero-heading h1 { font-size: clamp(54px, 12vw, 74px); }
    .search-tabs { overflow-x: auto; padding: 0 12px; }
    .search-tab { flex: 0 0 auto; padding: 0 18px; }
    .search-tab::after { left: 18px; right: 18px; }
    .search-assurance-grid { grid-template-columns: 1fr; }
    .search-assurance article { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(34,31,27,.14); }
    .search-results { padding: 88px 0; }
    .search-results-heading { grid-template-columns: 1fr; gap: 32px; }
    .search-results-layout { grid-template-columns: 1fr; }
    .search-filter-panel { position: static; display: none; }
    .search-result-card { grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); }
    .search-request { padding: 88px 0; }
    .search-request-grid { grid-template-columns: 1fr; gap: 44px; }
}

@media (max-width: 560px) {
    .search-hero {
        padding: calc(var(--header) + 52px) 0 44px;
        background:
            linear-gradient(180deg, rgba(3,5,6,.78), rgba(3,5,6,.94)),
            url('../images/destinations-hero.jpg') 62% center / cover no-repeat;
    }
    .search-hero-heading { margin-bottom: 30px; }
    .search-hero-heading h1 { font-size: 49px; }
    .search-hero-heading > p:not(.eyebrow) { font-size: 14px; }
    .search-console { border-radius: 18px; }
    .search-tabs { min-height: 62px; }
    .search-tab { min-width: 112px; justify-content: center; padding: 0 13px; font-size: 10px; }
    .search-tab::after { left: 13px; right: 13px; }
    .search-transport-row { padding: 14px 18px; }
    .search-transport-row > span { width: 100%; }
    .search-fields,
    .search-console.has-origin .search-fields {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 10px 18px 18px;
    }
    .search-field,
    .search-field:nth-of-type(2) {
        min-height: 74px;
        padding: 12px 6px;
        border-right: 0;
        border-bottom: 1px solid rgba(34,31,27,.13);
    }
    .search-field input,
    .search-field select { font-size: 20px; }
    .search-submit { min-height: 58px; margin: 14px 0 0; }
    .search-quick-row { padding: 0 18px 20px; }
    .search-quick-row > span { width: 100%; }
    .search-assurance article { grid-template-columns: 34px 1fr; padding: 28px 8px; }
    .search-results-heading h2 { font-size: 45px; }
    .search-results-note { grid-template-columns: 44px 1fr; }
    .maria-mark { width: 44px; height: 44px; }
    .search-filter-chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-right: -14px;
        padding-right: 14px;
        scrollbar-width: none;
    }
    .search-filter-chips::-webkit-scrollbar { display: none; }
    .search-filter-chips button { flex: 0 0 auto; }
    .search-result-list { gap: 16px; }
    .search-result-card {
        min-height: 0;
        grid-template-columns: 1fr;
        border-radius: 17px;
    }
    .search-result-media { min-height: 260px; }
    .search-result-body { padding: 24px 22px 22px; }
    .search-result-topline { flex-direction: column; gap: 4px; }
    .search-result-body h3 { margin-bottom: 6px; font-size: 34px; }
    .search-result-expand {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        margin-top: 12px;
        padding: 12px 0 0;
        border: 0;
        border-top: 1px solid rgba(34,31,27,.12);
        background: transparent;
        color: #a87324;
        font-size: 10px;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .search-result-expand svg {
        width: 16px;
        height: 16px;
        fill: none;
        stroke: currentColor;
        transition: transform .2s ease;
    }
    .search-result-card.is-expanded .search-result-expand svg { transform: rotate(180deg); }
    .search-result-card:not(.is-expanded) .search-result-body > p,
    .search-result-card:not(.is-expanded) .search-result-tags,
    .search-result-card:not(.is-expanded) .search-result-footer { display: none; }
    .search-result-footer { align-items: stretch; }
    .search-result-actions { justify-content: space-between; }
    .search-request h2 { font-size: 46px; }
    .search-request-example { font-size: 21px; }
    .search-request .button { width: 100%; }
}

/* TURISTO about */
.about-page { background: #050708; }
.about-hero {
    min-height: 880px;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
    background: #090b0c;
}
.about-hero-media,
.about-hero-shade {
    position: absolute;
    inset: 0;
}
.about-hero-media {
    background: url('../images/about.jpg') 58% center / cover no-repeat;
    transform: scale(1.01);
}
.about-hero-shade {
    background:
        linear-gradient(90deg, rgba(3,5,6,.93) 0%, rgba(3,5,6,.72) 37%, rgba(3,5,6,.12) 72%),
        linear-gradient(0deg, rgba(3,5,6,.48), transparent 45%);
}
.about-hero-content {
    position: relative;
    z-index: 2;
    padding-top: var(--header);
}
.about-hero h1 {
    max-width: 930px;
    margin-bottom: 28px;
    font-size: clamp(62px, 6.7vw, 106px);
}
.about-hero-content > p:not(.eyebrow) {
    max-width: 660px;
    margin: 0 0 32px;
    color: rgba(255,255,255,.82);
    font-size: 17px;
    line-height: 1.75;
}
.about-intro {
    padding: 120px 0;
    background:
        radial-gradient(circle at 8% 0%, rgba(198,151,69,.09), transparent 25%),
        #f4efe7;
    color: #17191b;
}
.about-intro-heading {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 66px;
}
.about-intro-heading h2 {
    max-width: 850px;
    margin: 0;
    color: #17191b;
    font-size: clamp(52px, 5.2vw, 80px);
}
.about-intro-copy p {
    margin: 0 0 17px;
    color: #616669;
    font-size: 16px;
    line-height: 1.75;
}
.about-intro-copy p:last-child { margin-bottom: 0; }
.about-intro-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(34,31,27,.17);
    border-left: 1px solid rgba(34,31,27,.17);
}
.about-intro-grid article {
    min-height: 270px;
    padding: 38px 34px;
    border-right: 1px solid rgba(34,31,27,.17);
    border-bottom: 1px solid rgba(34,31,27,.17);
}
.about-intro-grid article > span,
.about-principles-grid article > span,
.about-standard-grid article > span {
    display: block;
    margin-bottom: 48px;
    color: #a87324;
    font-size: 10px;
    letter-spacing: .17em;
}
.about-intro-grid h3 {
    margin-bottom: 14px;
    color: #17191b;
    font-size: 34px;
}
.about-intro-grid p {
    margin: 0;
    color: #62676a;
    font-size: 13px;
    line-height: 1.7;
}
.about-principles {
    padding: 126px 0;
    background:
        radial-gradient(circle at 20% 8%, rgba(198,151,69,.11), transparent 28%),
        linear-gradient(180deg, #0b0f11, #050708);
}
.about-principles .section-heading {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}
.about-principles .section-lead {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255,255,255,.64);
    font-size: 16px;
    line-height: 1.7;
}
.about-principles-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.10);
    border-left: 1px solid rgba(255,255,255,.10);
}
.about-principles-grid article {
    min-height: 340px;
    padding: 42px 32px;
    border-right: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.about-principles-grid article > span {
    margin-bottom: 64px;
    color: #d9ad5e;
}
.about-principles-grid h3 {
    margin-bottom: 16px;
    color: #fff8ec;
    font-size: 31px;
}
.about-principles-grid p {
    margin: 0;
    color: rgba(255,255,255,.64);
    font-size: 13px;
    line-height: 1.7;
}
.about-system {
    padding: 126px 0;
    background: #eee8de;
    color: #17191b;
}
.about-system-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 86px;
    align-items: center;
}
.about-system-media {
    min-height: 760px;
    position: relative;
}
.about-system-media-main {
    position: absolute;
    inset: 0 70px 90px 0;
    background:
        linear-gradient(180deg, transparent 62%, rgba(3,5,6,.30)),
        url('../images/abou1.jpg') 48% center / cover no-repeat;
    box-shadow: 0 28px 80px rgba(34,27,19,.18);
}
.about-system-media-detail {
    position: absolute;
    width: 48%;
    height: 310px;
    right: 0;
    bottom: 0;
    border: 12px solid #eee8de;
    background: url('../images/solution-concierge.jpg') 42% center / cover no-repeat;
    box-shadow: 0 18px 50px rgba(34,27,19,.20);
}
.about-system-copy h2 {
    max-width: 720px;
    margin-bottom: 24px;
    color: #17191b;
    font-size: clamp(50px, 4.7vw, 74px);
}
.about-system-lead {
    max-width: 650px;
    margin: 0 0 38px;
    color: #62676a;
    font-size: 15px;
    line-height: 1.75;
}
.about-system-list { border-top: 1px solid rgba(34,31,27,.17); }
.about-system-list article {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 20px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(34,31,27,.17);
}
.about-system-list article > span {
    padding-top: 4px;
    color: #a87324;
    font-size: 10px;
    letter-spacing: .15em;
}
.about-system-list h3 {
    margin-bottom: 5px;
    color: #17191b;
    font-size: 25px;
}
.about-system-list p {
    margin: 0;
    color: #666b6e;
    font-size: 12px;
    line-height: 1.65;
}
.about-maria {
    min-height: 790px;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
}
.about-maria-media,
.about-maria-shade {
    position: absolute;
    inset: 0;
}
.about-maria-media {
    background: url('../images/solution-concierge.jpg') center / cover no-repeat;
}
.about-maria-shade {
    background:
        linear-gradient(90deg, rgba(3,5,6,.94) 0%, rgba(3,5,6,.82) 44%, rgba(3,5,6,.24) 76%),
        linear-gradient(0deg, rgba(3,5,6,.38), transparent 42%);
}
.about-maria-content {
    position: relative;
    z-index: 2;
}
.about-maria-mark {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin-bottom: 28px;
    border: 1px solid rgba(228,185,111,.58);
    border-radius: 50%;
    color: #e4b96f;
    font-family: "Cormorant Garamond", serif;
    font-size: 29px;
}
.about-maria h2 {
    max-width: 820px;
    margin-bottom: 26px;
    font-size: clamp(52px, 5.2vw, 82px);
}
.about-maria-content > p:not(.eyebrow) {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.75;
}
.about-maria-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
    margin-top: 34px;
    color: #efc876;
    font-size: 11px;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.about-maria-actions span:not(:last-child)::after {
    content: "·";
    margin-left: 30px;
    color: rgba(239,200,118,.50);
}
.about-standards {
    padding: 120px 0;
    background:
        radial-gradient(circle at 92% 0%, rgba(198,151,69,.10), transparent 26%),
        #f4efe7;
    color: #17191b;
}
.about-standard-heading {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 62px;
}
.about-standard-heading h2 {
    margin: 0;
    color: #17191b;
    font-size: clamp(52px, 5vw, 78px);
}
.about-standard-heading > p {
    max-width: 570px;
    margin: 0 0 8px;
    color: #62676a;
    font-size: 16px;
    line-height: 1.75;
}
.about-standard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(34,31,27,.17);
    border-left: 1px solid rgba(34,31,27,.17);
}
.about-standard-grid article {
    min-height: 290px;
    padding: 36px 32px;
    border-right: 1px solid rgba(34,31,27,.17);
    border-bottom: 1px solid rgba(34,31,27,.17);
}
.about-standard-grid article > span { margin-bottom: 44px; }
.about-standard-grid h3 {
    margin-bottom: 13px;
    color: #17191b;
    font-size: 31px;
}
.about-standard-grid p {
    margin: 0;
    color: #62676a;
    font-size: 13px;
    line-height: 1.7;
}
.about-final-cta {
    padding-top: 54px;
    background: #e3dbcf;
}
.about-cta-media {
    position: absolute;
    inset: 0;
    background: url('../images/about.jpg') center 56% / cover no-repeat;
}

@media (max-width: 1180px) {
    .about-principles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-principles-grid article { min-height: 290px; }
    .about-system-grid { gap: 58px; }
    .about-system-media { min-height: 680px; }
    .about-standard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .about-hero { min-height: 780px; }
    .about-hero-media { background-position: 64% center; }
    .about-intro,
    .about-principles,
    .about-system,
    .about-standards { padding: 88px 0; }
    .about-intro-heading,
    .about-standard-heading { grid-template-columns: 1fr; gap: 26px; margin-bottom: 48px; }
    .about-intro-grid { grid-template-columns: 1fr; }
    .about-intro-grid article { min-height: auto; }
    .about-system-grid { grid-template-columns: 1fr; }
    .about-system-media { min-height: 620px; }
    .about-maria { min-height: 720px; }
    .about-maria-media { background-position: 66% center; }
}

@media (max-width: 560px) {
    .about-hero { min-height: 760px; align-items: end; }
    .about-hero-media { background-position: 67% center; }
    .about-hero-shade {
        background:
            linear-gradient(180deg, rgba(3,5,6,.18), rgba(3,5,6,.78) 59%, rgba(3,5,6,.96)),
            linear-gradient(90deg, rgba(3,5,6,.38), transparent 74%);
    }
    .about-hero-content { padding-top: 180px; padding-bottom: 64px; }
    .about-hero h1 { font-size: 49px; }
    .about-hero-content > p:not(.eyebrow) { font-size: 14px; }
    .about-intro-heading h2,
    .about-standard-heading h2 { font-size: 45px; }
    .about-intro-grid article { padding: 30px 25px; }
    .about-intro-grid article > span { margin-bottom: 30px; }
    .about-principles-grid,
    .about-standard-grid { grid-template-columns: 1fr; }
    .about-principles-grid article,
    .about-standard-grid article { min-height: auto; padding: 32px 25px; }
    .about-principles-grid article > span,
    .about-standard-grid article > span { margin-bottom: 30px; }
    .about-system-media { min-height: 470px; }
    .about-system-media-main { inset: 0 34px 64px 0; }
    .about-system-media-detail { width: 55%; height: 190px; border-width: 8px; }
    .about-system-copy h2 { font-size: 45px; }
    .about-system-list article { grid-template-columns: 32px 1fr; }
    .about-maria { min-height: 730px; align-items: end; }
    .about-maria-media { background-position: 58% center; }
    .about-maria-shade {
        background: linear-gradient(180deg, rgba(3,5,6,.25), rgba(3,5,6,.90) 60%, rgba(3,5,6,.98));
    }
    .about-maria-content { padding-bottom: 64px; }
    .about-maria h2 { font-size: 46px; }
    .about-maria-content > p:not(.eyebrow) { font-size: 14px; }
    .about-maria-actions { display: grid; gap: 8px; }
    .about-maria-actions span::after { display: none; }
    .about-final-cta { padding-top: 30px; }
}

/* TURISTO contacts */
.contacts-page { background: #050708; }
.contacts-hero {
    min-height: 820px;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
    background: #090b0c;
}
.contacts-hero-media,
.contacts-hero-shade {
    position: absolute;
    inset: 0;
}
.contacts-hero-media {
    background: url('../images/cta.jpg') center / cover no-repeat;
}
.contacts-hero-shade {
    background:
        linear-gradient(90deg, rgba(3,5,6,.92) 0%, rgba(3,5,6,.77) 42%, rgba(3,5,6,.16) 72%),
        linear-gradient(0deg, rgba(3,5,6,.44), transparent 44%);
}
.contacts-hero-content {
    position: relative;
    z-index: 2;
    padding-top: var(--header);
}
.contacts-hero h1 {
    max-width: 860px;
    margin-bottom: 26px;
    font-size: clamp(66px, 7vw, 108px);
}
.contacts-hero-content > p:not(.eyebrow) {
    max-width: 650px;
    margin: 0 0 36px;
    color: rgba(255,255,255,.82);
    font-size: 17px;
    line-height: 1.75;
}
.contacts-channels {
    padding: 120px 0;
    background:
        radial-gradient(circle at 8% 0%, rgba(198,151,69,.09), transparent 25%),
        #f4efe7;
    color: #17191b;
}
.contacts-channel-heading {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 60px;
}
.contacts-channel-heading h2 {
    margin: 0;
    color: #17191b;
    font-size: clamp(52px, 5vw, 78px);
}
.contacts-channel-heading > p {
    max-width: 590px;
    margin: 0 0 8px;
    color: #62676a;
    font-size: 16px;
    line-height: 1.75;
}
.contacts-channel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(34,31,27,.17);
    border-left: 1px solid rgba(34,31,27,.17);
}
.contacts-channel-grid > a {
    min-height: 410px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 34px 32px;
    border-right: 1px solid rgba(34,31,27,.17);
    border-bottom: 1px solid rgba(34,31,27,.17);
    transition: background .28s ease, transform .28s ease;
}
.contacts-channel-grid > a:hover {
    z-index: 2;
    background: rgba(255,255,255,.62);
    transform: translateY(-4px);
}
.contacts-channel-number {
    position: absolute;
    top: 34px;
    right: 32px;
    color: #a87324;
    font-size: 10px;
    letter-spacing: .17em;
}
.contacts-channel-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin-bottom: 56px;
    border: 1px solid rgba(182,127,46,.38);
    color: #b67f2e;
}
.contacts-channel-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.contacts-channel-grid small {
    margin-bottom: 8px;
    color: #9b702f;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.contacts-channel-grid strong {
    color: #17191b;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(25px, 2vw, 34px);
    font-weight: 600;
    line-height: 1.15;
    overflow-wrap: anywhere;
}
.contacts-channel-grid p {
    max-width: 390px;
    margin: 16px 0 26px;
    color: #666a6d;
    font-size: 13px;
    line-height: 1.7;
}
.contacts-channel-link {
    margin-top: auto;
    color: #a87324;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.contacts-form-section {
    padding: 126px 0;
    background:
        radial-gradient(circle at 14% 8%, rgba(198,151,69,.12), transparent 26%),
        linear-gradient(145deg, #0c1012, #050708 68%);
}
.contacts-form-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 92px;
    align-items: start;
}
.contacts-form-copy {
    position: sticky;
    top: calc(var(--header) + 30px);
}
.contacts-form-copy h2 {
    max-width: 650px;
    margin-bottom: 26px;
    font-size: clamp(52px, 5vw, 78px);
}
.contacts-form-copy > p:not(.eyebrow) {
    max-width: 600px;
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: 15px;
    line-height: 1.75;
}
.contacts-form-note {
    max-width: 600px;
    margin-top: 38px;
    padding: 24px 0 24px 24px;
    border-left: 1px solid rgba(228,185,111,.58);
}
.contacts-form-note > span,
.contacts-geography small {
    display: block;
    margin-bottom: 8px;
    color: #d9ad5e;
    font-size: 9px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.contacts-form-note p {
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: 12px;
    line-height: 1.7;
}
.contacts-geography {
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,.10);
}
.contacts-geography strong {
    color: #fff7ea;
    font-family: "Cormorant Garamond", serif;
    font-size: 25px;
    font-weight: 500;
}
.contacts-form {
    padding: 44px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 22px;
    background: #f4efe7;
    color: #17191b;
    box-shadow: 0 30px 100px rgba(0,0,0,.32);
}
.contacts-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.contacts-form label {
    display: block;
    margin-bottom: 24px;
}
.contacts-form label > span {
    display: block;
    margin-bottom: 9px;
    color: #8a6b3d;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.contacts-form input,
.contacts-form textarea,
.contacts-form select {
    width: 100%;
    min-height: 56px;
    padding: 13px 16px;
    border: 1px solid rgba(34,31,27,.15);
    border-radius: 10px;
    outline: 0;
    background: rgba(255,255,255,.58);
    color: #17191b;
    font-size: 13px;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.contacts-form textarea {
    min-height: 150px;
    resize: vertical;
    line-height: 1.65;
}
.contacts-form input:focus,
.contacts-form textarea:focus,
.contacts-form select:focus {
    border-color: rgba(182,127,46,.72);
    box-shadow: 0 0 0 3px rgba(182,127,46,.09);
}
.contacts-form input::placeholder,
.contacts-form textarea::placeholder { color: #929495; opacity: 1; }
.contacts-form-submit {
    width: 100%;
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 22px;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, #d6a657, #b67f2e);
    color: #fffaf1;
    cursor: pointer;
    font-size: 11px;
    letter-spacing: .10em;
    text-transform: uppercase;
    box-shadow: 0 14px 34px rgba(182,127,46,.22);
    transition: transform .2s ease, box-shadow .2s ease;
}
.contacts-form-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(182,127,46,.30);
}
.contacts-form-submit svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.contacts-form-privacy {
    margin: 15px 0 0;
    color: #87898b;
    font-size: 9px;
    line-height: 1.55;
}
.contacts-brief {
    padding: 124px 0;
    background: #eee8de;
    color: #17191b;
}
.contacts-brief .section-heading {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
}
.contacts-brief .section-heading h2 { color: #17191b; }
.contacts-brief .section-lead {
    max-width: 650px;
    margin: 0 auto;
    color: #62676a;
    font-size: 15px;
}
.contacts-brief-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(34,31,27,.17);
    border-left: 1px solid rgba(34,31,27,.17);
}
.contacts-brief-grid article {
    min-height: 300px;
    padding: 38px 30px;
    border-right: 1px solid rgba(34,31,27,.17);
    border-bottom: 1px solid rgba(34,31,27,.17);
}
.contacts-brief-grid article > span {
    display: block;
    margin-bottom: 58px;
    color: #a87324;
    font-size: 10px;
    letter-spacing: .17em;
}
.contacts-brief-grid h3 {
    margin-bottom: 14px;
    color: #17191b;
    font-size: 31px;
}
.contacts-brief-grid p {
    margin: 0;
    color: #62676a;
    font-size: 13px;
    line-height: 1.7;
}
.contacts-closing {
    min-height: 690px;
    position: relative;
    display: grid;
    align-items: center;
    overflow: hidden;
}
.contacts-closing-media,
.contacts-closing-shade {
    position: absolute;
    inset: 0;
}
.contacts-closing-media {
    background: url('../images/abou1.jpg') center / cover no-repeat;
}
.contacts-closing-shade {
    background:
        linear-gradient(90deg, rgba(3,5,6,.92) 0%, rgba(3,5,6,.76) 45%, rgba(3,5,6,.18) 78%),
        linear-gradient(0deg, rgba(3,5,6,.36), transparent 45%);
}
.contacts-closing-content {
    position: relative;
    z-index: 2;
}
.contacts-closing h2 {
    max-width: 810px;
    margin-bottom: 22px;
    font-size: clamp(54px, 5.3vw, 82px);
}
.contacts-closing-content > p:not(.eyebrow) {
    max-width: 630px;
    margin: 0 0 34px;
    color: rgba(255,255,255,.76);
    font-size: 15px;
    line-height: 1.75;
}

@media (max-width: 1180px) {
    .contacts-form-grid { gap: 58px; }
    .contacts-brief-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .contacts-hero { min-height: 760px; }
    .contacts-hero-media { background-position: 62% center; }
    .contacts-channels,
    .contacts-form-section,
    .contacts-brief { padding: 88px 0; }
    .contacts-channel-heading { grid-template-columns: 1fr; gap: 26px; margin-bottom: 46px; }
    .contacts-channel-grid { grid-template-columns: 1fr; }
    .contacts-channel-grid > a { min-height: 330px; }
    .contacts-form-grid { grid-template-columns: 1fr; }
    .contacts-form-copy { position: static; }
    .contacts-closing { min-height: 650px; }
}

@media (max-width: 560px) {
    .contacts-hero { min-height: 740px; align-items: end; }
    .contacts-hero-media { background-position: 69% center; }
    .contacts-hero-shade {
        background:
            linear-gradient(180deg, rgba(3,5,6,.16), rgba(3,5,6,.82) 58%, rgba(3,5,6,.97)),
            linear-gradient(90deg, rgba(3,5,6,.34), transparent 72%);
    }
    .contacts-hero-content { padding-top: 180px; padding-bottom: 58px; }
    .contacts-hero h1 { font-size: 51px; }
    .contacts-hero-content > p:not(.eyebrow) { font-size: 14px; }
    .contacts-hero .button { width: 100%; }
    .contacts-channel-heading h2 { font-size: 45px; }
    .contacts-channel-grid > a { min-height: 320px; padding: 30px 24px; }
    .contacts-channel-icon { margin-bottom: 38px; }
    .contacts-form-copy h2 { font-size: 45px; }
    .contacts-form { padding: 26px 20px; border-radius: 17px; }
    .contacts-form-row { grid-template-columns: 1fr; gap: 0; }
    .contacts-brief-grid { grid-template-columns: 1fr; }
    .contacts-brief-grid article { min-height: auto; padding: 32px 25px; }
    .contacts-brief-grid article > span { margin-bottom: 30px; }
    .contacts-closing { min-height: 690px; align-items: end; }
    .contacts-closing-media { background-position: 62% center; }
    .contacts-closing-shade {
        background: linear-gradient(180deg, rgba(3,5,6,.20), rgba(3,5,6,.90) 60%, rgba(3,5,6,.98));
    }
    .contacts-closing-content { padding-bottom: 60px; }
    .contacts-closing h2 { font-size: 46px; }
    .contacts-closing .button { width: 100%; }
}
