@font-face {
    font-family: "Newsreader";
    src: url("../fonts/Newsreader.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Urbanist";
    src: url("../fonts/Urbanist.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --color-bg: #07110f;
    --color-surface: #0d1c19;
    --color-surface-2: #142823;
    --color-paper: #f4f1ea;
    --color-paper-2: #e8e4da;
    --color-card: #fbf9f4;
    --color-text: #f7f2e8;
    --color-text-muted: #aebdb8;
    --color-ink: #15211e;
    --color-ink-muted: #53635d;
    --color-primary: #9ad8c9;
    --color-accent: #d1a06a;
    --color-line: rgba(255, 255, 255, .13);
    --color-line-dark: rgba(21, 33, 30, .15);
    --space-1: 8px;
    --space-2: 12px;
    --space-3: 18px;
    --space-4: 24px;
    --space-5: 36px;
    --space-6: 52px;
    --space-7: 76px;
    --space-8: 112px;
    --text-display: clamp(3rem, 6.4vw, 5.9rem);
    --text-h1: clamp(2.55rem, 4.8vw, 4.15rem);
    --text-h2: clamp(2rem, 3.5vw, 3.2rem);
    --text-h3: clamp(1.25rem, 2vw, 1.65rem);
    --text-body: 1rem;
    --text-small: .84rem;
    --radius-s: 12px;
    --radius-m: 22px;
    --radius-l: 34px;
    --shadow: 0 26px 80px rgba(0, 0, 0, .18);
    --max: 1240px
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    overflow-x: clip
}

body {
    margin: 0;
    background: var(--color-bg);
    color: var(--color-text);
    font-family: 'Urbanist', sans-serif;
    font-size: var(--text-body);
    line-height: 1.65;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: clip
}

main {
    flex: 1 0 auto
}

body.light-page {
    background: var(--color-paper);
    color: var(--color-ink)
}

img {
    max-width: 100%;
    display: block
}

a {
    color: inherit;
    text-decoration: none
}

button,
input,
select,
textarea {
    font: inherit
}

button {
    cursor: pointer
}

.container {
    width: min(calc(100% - 32px), var(--max));
    margin: auto
}

.section {
    padding: var(--space-8) 0
}

.section.compact {
    padding: var(--space-7) 0
}

.paper {
    background: var(--color-paper);
    color: var(--color-ink)
}

.surface {
    background: var(--color-surface);
    color: var(--color-text)
}

.surface2 {
    background: var(--color-surface-2);
    color: var(--color-text)
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .72rem;
    font-weight: 700
}

.eyebrow:before {
    content: '';
    width: 34px;
    height: 1px;
    background: currentColor;
    opacity: .55
}

h1,
h2,
.display {
    font-family: 'Newsreader', serif;
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1
}

.advert-strip {
    background: var(--color-accent);
    color: #21150d;
    text-align: center;
    padding: 7px 16px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(7, 17, 15, .9);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--color-line);
    color: var(--color-text)
}

.nav {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-weight: 700;
    letter-spacing: .04em
}

.logo img {
    width: 34px;
    height: 34px;
    object-fit: cover
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 22px;
    font-size: .9rem
}

.nav-links a {
    color: #c6d1cd
}

.nav-links a:hover {
    color: #fff
}

.nav-cta,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid var(--color-line);
    transition: .25s ease
}

.nav-cta,
.button.primary {
    background: var(--color-primary);
    color: #0b1714;
    border-color: transparent;
    font-weight: 700
}

.button.secondary {
    background: transparent;
    color: inherit
}

.button.dark {
    background: #15332c;
    color: #fff;
    border-color: #15332c;
    font-weight: 700
}

.button:hover,
.nav-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .16)
}

.menu-toggle {
    display: none;
    background: none;
    color: #fff;
    border: 1px solid var(--color-line);
    border-radius: 50%;
    width: 46px;
    height: 46px
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: #244a40;
    border-bottom: 1px solid currentColor;
    padding-bottom: 3px
}

.text-link.light {
    color: var(--color-primary)
}

.hero {
    min-height: 760px;
    display: grid;
    align-items: end;
    padding: 100px 0 58px;
    position: relative;
    overflow: hidden
}

.hero:before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7, 17, 15, .97) 0%, rgba(7, 17, 15, .78) 49%, rgba(7, 17, 15, .42) 100%), linear-gradient(0deg, rgba(7, 17, 15, .72), transparent 55%), url('../images/1.webp') center/cover no-repeat
}

.hero:after {
    content: '';
    position: absolute;
    width: 540px;
    height: 540px;
    border: 1px solid rgba(159, 216, 202, .28);
    border-radius: 50%;
    right: -140px;
    top: 110px;
    box-shadow: 0 0 0 62px rgba(159, 216, 202, .045), 0 0 0 124px rgba(159, 216, 202, .03)
}

.hero .container {
    position: relative;
    z-index: 2
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.5fr .65fr;
    gap: 60px;
    align-items: end
}

.hero h1 {
    font-size: var(--text-display);
    margin: 16px 0 22px;
    max-width: 970px
}

.hero p.lead {
    font-size: clamp(1.02rem, 1.8vw, 1.26rem);
    max-width: 820px;
    color: #d4dfdb
}

.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 30px
}

.flight-card {
    background: rgba(13, 28, 25, .78);
    border: 1px solid rgba(255, 255, 255, .16);
    backdrop-filter: blur(12px);
    border-radius: var(--radius-l);
    padding: 24px;
    box-shadow: var(--shadow)
}

.flight-card .coords {
    font-family: monospace;
    font-size: .73rem;
    letter-spacing: .11em;
    color: var(--color-primary)
}

.flight-line {
    height: 1px;
    background: linear-gradient(90deg, var(--color-primary), transparent);
    margin: 18px 0
}

.flight-card strong {
    display: block;
    font-family: 'Newsreader', serif;
    font-size: 1.55rem;
    font-weight: 500
}

.flight-card p {
    font-size: .9rem;
    color: #c5d0cc
}

.story-band {
    background: var(--color-surface);
    border-top: 1px solid var(--color-line);
    border-bottom: 1px solid var(--color-line)
}

.story-grid {
    display: grid;
    grid-template-columns: .48fr 1.52fr;
    gap: 50px;
    padding: 48px 0
}

.story-kicker {
    font-family: 'Newsreader', serif;
    font-size: 2rem;
    line-height: 1.05
}

.story-copy {
    font-size: 1.05rem;
    color: #c7d2ce;
    columns: 2;
    column-gap: 44px
}

.story-copy p:first-child {
    margin-top: 0
}

.stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-m);
    overflow: hidden
}

.stat {
    padding: 30px;
    border-right: 1px solid var(--color-line)
}

.stat:last-child {
    border-right: 0
}

.stat strong {
    font-family: 'Newsreader', serif;
    font-size: 2.5rem;
    font-weight: 500;
    display: block
}

.stat span {
    font-size: .82rem;
    color: var(--color-text-muted)
}

.section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 40px;
    margin-bottom: 42px
}

.section-head h2 {
    font-size: var(--text-h2);
    margin: 10px 0 0;
    max-width: 680px
}

.section-head p {
    max-width: 430px;
    color: inherit;
    opacity: .72
}

.section-footer-link {
    display: flex;
    justify-content: center;
    margin-top: 32px
}

.section-footer-link.left {
    justify-content: flex-start
}

.expedition-teasers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px
}

.expedition-teaser {
    background: var(--color-card);
    color: var(--color-ink);
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-l);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0
}

.teaser-media {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden
}

.teaser-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease
}

.expedition-teaser:hover .teaser-media img {
    transform: scale(1.035)
}

.route-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(7, 17, 15, .86);
    color: #fff;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: .72rem
}

.teaser-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1
}

.teaser-number {
    font-family: monospace;
    color: #8a5c34;
    font-size: .78rem;
    letter-spacing: .15em
}

.expedition-teaser h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.75rem;
    line-height: 1.03;
    margin: 10px 0
}

.teaser-tagline {
    color: var(--color-ink-muted);
    min-height: 52px
}

.teaser-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 10px 0
}

.teaser-facts span {
    font-size: .7rem;
    padding: 6px 8px;
    border: 1px solid var(--color-line-dark);
    border-radius: 999px
}

.price {
    font-weight: 800;
    color: #8a5d34;
    margin: 13px 0 18px
}

.teaser-body .text-link {
    margin-top: auto;
    align-self: flex-start
}

.route-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px
}

.route-summary {
    padding: 26px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-m);
    background: rgba(255, 255, 255, .025)
}

.route-summary>span {
    font-family: monospace;
    color: var(--color-primary)
}

.route-summary h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.55rem;
    margin: 14px 0 8px
}

.route-summary p {
    color: var(--color-text-muted)
}

.route-summary b {
    font-size: .8rem;
    color: #dce5e1
}

.service-index {
    display: grid;
    grid-template-columns: .62fr 1.38fr;
    gap: 34px;
    align-items: start
}

.service-intro h2 {
    font-size: var(--text-h2);
    margin: 12px 0 18px
}

.service-intro p {
    color: var(--color-ink-muted)
}

.service-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px
}

.service-cards article {
    padding: 24px;
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-m);
    background: var(--color-card);
    color: var(--color-ink)
}

.service-cards article>span {
    font-family: monospace;
    color: #8a5d34
}

.service-cards h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.45rem;
    margin: 12px 0 7px
}

.service-cards p {
    color: var(--color-ink-muted);
    margin-bottom: 0
}

.gallery-preview {
    display: grid;
    grid-template-columns: 1.25fr .75fr .75fr;
    grid-auto-rows: 230px;
    gap: 12px
}

.gallery-preview figure {
    margin: 0;
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-m)
}

.gallery-preview figure.wide {
    grid-row: span 2
}

.gallery-preview figure:nth-child(4) {
    grid-column: 2/4
}

.gallery-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .45s ease
}

.gallery-preview figure:hover img {
    transform: scale(1.035)
}

.gallery-preview figcaption {
    position: absolute;
    left: 14px;
    bottom: 14px;
    background: rgba(7, 17, 15, .82);
    padding: 7px 10px;
    border-radius: 999px;
    font-size: .72rem
}

.index-final-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.index-about,
.index-contact {
    padding: 38px;
    border-radius: var(--radius-l);
    border: 1px solid var(--color-line)
}

.index-about {
    background: var(--color-surface-2)
}

.index-contact {
    background: var(--color-accent);
    color: #21150d;
    border-color: transparent
}

.index-final-grid h2 {
    font-size: var(--text-h2);
    margin: 12px 0
}

.index-about p {
    color: var(--color-text-muted)
}

.index-contact p {
    color: #4e3825
}

.contact-mini {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0
}

.contact-mini span {
    font-size: .78rem;
    padding: 7px 10px;
    border: 1px solid rgba(33, 21, 13, .22);
    border-radius: 999px
}

.subhero {
    padding: 86px 0 66px;
    border-bottom: 1px solid var(--color-line);
    background: radial-gradient(circle at 82% 12%, rgba(159, 216, 202, .16), transparent 30%), var(--color-bg);
    color: var(--color-text)
}

.subhero h1 {
    font-size: var(--text-h1);
    margin: 12px 0 16px;
    max-width: 760px;
    color: var(--color-text)
}

.subhero p {
    max-width: 720px;
    color: #b8c5c0;
    font-size: 1.06rem
}

.subhero .eyebrow {
    color: var(--color-primary)
}

.subhero-grid {
    display: grid;
    grid-template-columns: 1fr .5fr;
    gap: 54px;
    align-items: end
}

.hero-index {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px
}

.hero-index span {
    padding: 8px 11px;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    color: #cad6d1;
    font-size: .74rem
}

.legal-hero h1 {
    max-width: 680px
}

.legal-hero {
    padding: 74px 0 58px
}

.expedition-detail {
    background: var(--color-paper);
    color: var(--color-ink);
    padding: 88px 0;
    border-bottom: 1px solid var(--color-line-dark)
}

.expedition-detail.alt {
    background: var(--color-paper-2)
}

.expedition-cover {
    position: relative;
    border-radius: var(--radius-l);
    overflow: hidden;
    aspect-ratio: 16/6;
    margin-bottom: 34px
}

.expedition-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.expedition-cover:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(7, 17, 15, .52), transparent 52%)
}

.expedition-cover-label {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff
}

.expedition-cover-label span {
    font-family: monospace;
    letter-spacing: .14em
}

.expedition-overview {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 40px;
    align-items: start
}

.expedition-overview h2 {
    font-size: var(--text-h2);
    margin: 11px 0 8px
}

.route-line {
    font-weight: 700;
    color: #6e4b2e
}

.expedition-tagline {
    font-family: 'Newsreader', serif;
    font-size: 1.35rem;
    color: #23332e
}

.expedition-overview>div>p:last-child {
    color: var(--color-ink-muted);
    max-width: 720px
}

.expedition-facts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-m);
    overflow: hidden;
    background: var(--color-card)
}

.expedition-facts div {
    padding: 18px;
    border-right: 1px solid var(--color-line-dark);
    border-bottom: 1px solid var(--color-line-dark)
}

.expedition-facts div:nth-child(2n) {
    border-right: 0
}

.expedition-facts div:nth-last-child(-n+2) {
    border-bottom: 0
}

.expedition-facts span {
    display: block;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #6f7b77
}

.expedition-facts b {
    display: block;
    margin-top: 5px;
    font-size: .95rem
}

.expedition-detail-grid {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 16px;
    margin-top: 34px
}

.timeline-card,
.manifest-card {
    background: var(--color-card);
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-l);
    padding: 30px;
    color: var(--color-ink)
}

.card-kicker {
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .72rem;
    font-weight: 800;
    color: #7b5a3c;
    margin-bottom: 16px
}

.timeline-row {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 18px;
    padding: 15px 0;
    border-top: 1px solid var(--color-line-dark)
}

.timeline-row time {
    font-family: monospace;
    font-size: .78rem;
    color: #77502e
}

.timeline-row b {
    display: block
}

.timeline-row p {
    margin: 3px 0 0;
    color: var(--color-ink-muted);
    font-size: .9rem
}

.include-grid {
    display: grid;
    gap: 8px
}

.include-item {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 9px;
    align-items: start;
    padding: 9px 0;
    border-bottom: 1px solid var(--color-line-dark)
}

.include-item span {
    color: #2d7564
}

.manifest-divider {
    height: 1px;
    background: var(--color-line-dark);
    margin: 24px 0
}

.highlight-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px
}

.highlight-list span {
    padding: 7px 9px;
    border-radius: 999px;
    background: #e7ece9;
    font-size: .72rem
}

.full-button {
    width: 100%;
    margin-top: 24px
}

.compact-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px
}

.compact-cta h2 {
    font-size: var(--text-h2);
    margin: 10px 0 0
}

.compact-cta.ink {
    color: var(--color-ink)
}

.route-atlas {
    border-top: 1px solid var(--color-line-dark)
}

.route-row {
    display: grid;
    grid-template-columns: 80px 1fr 230px;
    gap: 24px;
    align-items: center;
    padding: 28px 0;
    border-bottom: 1px solid var(--color-line-dark)
}

.route-code {
    font-family: monospace;
    letter-spacing: .13em;
    color: #8a5d34
}

.route-main {
    display: grid;
    grid-template-columns: auto 36px auto;
    align-items: center;
    gap: 8px
}

.route-main span,
.route-main strong {
    font-family: 'Newsreader', serif;
    font-size: 1.7rem
}

.route-main i {
    font-style: normal;
    color: #7d8a85
}

.route-main p {
    grid-column: 1/-1;
    margin: 2px 0 0;
    color: var(--color-ink-muted)
}

.route-time {
    border-left: 1px solid var(--color-line-dark);
    padding-left: 24px
}

.route-time span {
    display: block;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #71807a
}

.route-time b {
    display: block
}

.route-time small {
    color: #6c7b75
}

.route-method-grid {
    display: grid;
    grid-template-columns: .55fr 1.45fr;
    gap: 42px
}

.route-method-copy h2 {
    font-size: var(--text-h2);
    margin: 10px 0 16px
}

.route-method-copy p {
    color: var(--color-text-muted)
}

.route-method-steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px
}

.route-method-steps article {
    padding: 24px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-m);
    background: rgba(255, 255, 255, .025)
}

.route-method-steps span {
    font-family: monospace;
    color: var(--color-primary)
}

.route-method-steps h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.45rem;
    margin: 10px 0
}

.route-method-steps p {
    color: var(--color-text-muted);
    margin-bottom: 0
}

.route-condition-layout {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 42px
}

.route-condition-layout h2 {
    font-size: var(--text-h2);
    margin: 10px 0
}

.route-condition-layout>div:first-child p {
    color: var(--color-ink-muted)
}

.condition-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px
}

.condition-cards article {
    padding: 22px;
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-m);
    background: var(--color-card)
}

.condition-cards p {
    color: var(--color-ink-muted);
    margin-bottom: 0
}

.route-photo-band {
    height: 420px;
    position: relative;
    overflow: hidden
}

.route-photo-band>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.route-photo-band:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7, 17, 15, .75), rgba(7, 17, 15, .08))
}

.route-photo-band .container {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: end;
    padding-bottom: 34px
}

.route-photo-caption {
    display: flex;
    flex-direction: column;
    color: #fff
}

.route-photo-caption span {
    font-size: .72rem;
    letter-spacing: .15em
}

.route-photo-caption strong {
    font-family: 'Newsreader', serif;
    font-size: 2.4rem;
    font-weight: 500
}

.service-track {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px
}

.service-track article {
    position: relative;
    padding: 25px;
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-m);
    background: var(--color-card);
    color: var(--color-ink);
    min-height: 280px
}

.service-track article:not(:last-child):after {
    content: '→';
    position: absolute;
    right: -14px;
    top: 29px;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #17362f;
    color: #fff;
    display: grid;
    place-items: center;
    z-index: 2
}

.track-num {
    font-family: monospace;
    color: #8a5d34
}

.track-icon {
    font-size: 2rem;
    margin: 24px 0 28px;
    color: #2a6b5c
}

.service-track h2 {
    font-size: 1.55rem;
    margin: 0 0 10px
}

.service-track p {
    color: var(--color-ink-muted)
}

.service-matrix-wrap {
    overflow: auto;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-l)
}

.service-matrix {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
    background: #10231f;
    color: #edf4f1
}

.service-matrix th,
.service-matrix td {
    padding: 17px 18px;
    text-align: left;
    border-bottom: 1px solid var(--color-line);
    border-right: 1px solid var(--color-line);
    vertical-align: top
}

.service-matrix th:last-child,
.service-matrix td:last-child {
    border-right: 0
}

.service-matrix tr:last-child td {
    border-bottom: 0
}

.service-matrix th {
    background: #18342d;
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #bcd3cb
}

.service-matrix td:first-child {
    font-weight: 700;
    color: var(--color-primary)
}

.day-flow {
    display: grid;
    grid-template-columns: .62fr 1.38fr;
    gap: 42px;
    align-items: start
}

.day-flow-copy h2 {
    font-size: var(--text-h2);
    margin: 10px 0 16px
}

.day-flow-copy p {
    color: var(--color-ink-muted)
}

.day-flow-rail {
    border-left: 1px solid var(--color-line-dark);
    padding-left: 30px;
    display: grid;
    gap: 0
}

.day-flow-rail>div {
    position: relative;
    padding: 8px 0 26px 28px
}

.day-flow-rail>div:before {
    content: '';
    position: absolute;
    left: -36px;
    top: 14px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #2a6b5c;
    box-shadow: 0 0 0 6px #dfe8e4
}

.day-flow-rail span {
    font-family: monospace;
    color: #8a5d34
}

.day-flow-rail b {
    display: block;
    font-family: 'Newsreader', serif;
    font-size: 1.35rem
}

.day-flow-rail p {
    margin: 4px 0 0;
    color: var(--color-ink-muted)
}

.editorial-gallery {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 120px;
    gap: 12px
}

.editorial-gallery figure {
    margin: 0;
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-m)
}

.editorial-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .45s ease
}

.editorial-gallery figure:hover img {
    transform: scale(1.035)
}

.editorial-gallery figcaption {
    position: absolute;
    left: 13px;
    bottom: 13px;
    background: rgba(7, 17, 15, .82);
    color: #fff;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: .72rem
}

.editorial-gallery figcaption span {
    color: var(--color-primary);
    margin-right: 6px
}

.g1 {
    grid-column: span 7;
    grid-row: span 4
}

.g2 {
    grid-column: span 5;
    grid-row: span 2
}

.g3 {
    grid-column: span 5;
    grid-row: span 2
}

.g4 {
    grid-column: span 4;
    grid-row: span 3
}

.g5 {
    grid-column: span 4;
    grid-row: span 3
}

.g6 {
    grid-column: span 4;
    grid-row: span 3
}

.g7 {
    grid-column: span 12;
    grid-row: span 3
}

.gallery-notes {
    display: grid;
    grid-template-columns: .55fr 1.45fr;
    gap: 42px
}

.gallery-notes h2 {
    font-size: var(--text-h2);
    margin: 10px 0
}

.gallery-note-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px
}

.gallery-note-grid article {
    padding: 22px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-m)
}

.gallery-note-grid span {
    font-family: 'Newsreader', serif;
    font-size: 1.35rem
}

.gallery-note-grid p {
    color: var(--color-text-muted)
}

.about-editorial {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 18px;
    align-items: stretch
}

.about-editorial-image {
    border-radius: var(--radius-l);
    overflow: hidden;
    min-height: 540px
}

.about-editorial-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-editorial-copy {
    padding: 40px;
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-l);
    background: var(--color-card);
    color: var(--color-ink)
}

.about-editorial-copy h2 {
    font-size: var(--text-h2);
    margin: 12px 0 20px
}

.about-editorial-copy p {
    color: var(--color-ink-muted)
}

.about-rule {
    height: 1px;
    background: var(--color-line-dark);
    margin: 28px 0
}

.about-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px
}

.about-pillars article {
    padding: 28px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-m)
}

.about-pillars span {
    font-family: monospace;
    color: var(--color-primary)
}

.about-pillars h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.5rem;
    margin: 14px 0
}

.about-pillars p {
    color: var(--color-text-muted)
}

.company-profile {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 42px
}

.company-profile-title h2 {
    font-size: var(--text-h2);
    margin: 10px 0
}

.company-profile-title p {
    color: var(--color-ink-muted)
}

.company-profile-card {
    background: var(--color-card);
    color: var(--color-ink);
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-l);
    padding: 32px
}

.company-profile-card strong {
    font-family: 'Newsreader', serif;
    font-size: 1.7rem
}

.company-profile-card p {
    border-top: 1px solid var(--color-line-dark);
    padding-top: 10px;
    margin: 10px 0 0;
    color: var(--color-ink-muted)
}

.about-photo-strip {
    height: 360px;
    position: relative;
    overflow: hidden
}

.about-photo-strip>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-photo-strip:after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(7, 17, 15, .5)
}

.about-photo-strip .container {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center
}

.about-photo-strip p {
    font-family: 'Newsreader', serif;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1;
    color: #fff;
    max-width: 760px
}

.contact-page-grid {
    display: grid;
    grid-template-columns: .68fr 1.32fr;
    gap: 18px
}

.planning-aside,
.journey-form-card {
    border-radius: var(--radius-l);
    padding: 34px
}

.planning-aside {
    background: #17362f;
    color: #fff
}

.planning-aside h2,
.journey-form-card h2 {
    font-size: var(--text-h2);
    margin: 10px 0 14px
}

.planning-aside>p {
    color: #c9d7d2
}

.planning-facts {
    display: grid;
    gap: 8px;
    margin: 28px 0
}

.planning-facts div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid var(--color-line)
}

.planning-facts span {
    color: #b8cac4
}

.planning-contact {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 7px 12px;
    border-top: 1px solid var(--color-line);
    padding-top: 22px
}

.planning-contact span {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #aebfba
}

.planning-contact b {
    font-weight: 600
}

.journey-form-card {
    background: var(--color-card);
    color: var(--color-ink);
    border: 1px solid var(--color-line-dark)
}

.form-heading p {
    color: var(--color-ink-muted)
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.field {
    display: grid;
    gap: 7px
}

.field.full {
    grid-column: 1/-1
}

.field label {
    font-size: .82rem;
    font-weight: 700
}

.field input,
.field select,
.field textarea {
    width: 100%;
    max-width: 100%;
    border: 1px solid var(--color-line-dark);
    border-radius: 12px;
    padding: 13px 14px;
    background: #fff;
    color: #16201e;
    outline: none
}

.field textarea {
    min-height: 128px;
    resize: vertical
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: #5b8f82;
    box-shadow: 0 0 0 3px rgba(91, 143, 130, .14)
}

.check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: .8rem;
    color: #5f6f69
}

.check input {
    width: auto;
    margin-top: 4px
}

.submit-button {
    width: 100%
}

.contact-expect {
    display: grid;
    grid-template-columns: .55fr 1.45fr;
    gap: 42px
}

.contact-expect h2 {
    font-size: var(--text-h2);
    margin: 10px 0
}

.contact-expect-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px
}

.contact-expect-grid article {
    padding: 22px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-m)
}

.contact-expect-grid span {
    font-family: monospace;
    color: var(--color-primary)
}

.contact-expect-grid h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.45rem;
    margin: 12px 0
}

.contact-expect-grid p {
    color: var(--color-text-muted)
}

.gallery-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px
}

.gallery-main {
    margin: 0;
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-l);
    background: #d9ddd7;
    aspect-ratio: 16/8;
    box-shadow: var(--shadow)
}

.gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .22s ease, transform .55s ease
}

.gallery-main.is-changing img {
    opacity: .45;
    transform: scale(1.012)
}

.gallery-main figcaption {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    color: #fff
}

.gallery-main:after {
    content: '';
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(0deg, rgba(4, 10, 9, .72), transparent);
    pointer-events: none
}

.gallery-main figcaption {
    z-index: 2
}

.gallery-main figcaption span {
    font-family: monospace;
    color: var(--color-primary);
    letter-spacing: .12em
}

.gallery-main figcaption strong {
    font-family: 'Newsreader', serif;
    font-size: 1.8rem;
    font-weight: 500
}

.gallery-main figcaption em {
    font-style: normal;
    font-size: .78rem;
    color: #d6e1dd;
    margin-left: auto
}

.gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px
}

.gallery-thumb {
    padding: 0;
    border: 1px solid var(--color-line-dark);
    background: var(--color-card);
    color: var(--color-ink);
    border-radius: var(--radius-m);
    overflow: hidden;
    text-align: left;
    transition: .25s ease;
    min-width: 0
}

.gallery-thumb:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(20, 32, 28, .12)
}

.gallery-thumb.active {
    border-color: #2d6d5e;
    box-shadow: 0 0 0 2px rgba(45, 109, 94, .16)
}

.gallery-thumb img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover
}

.gallery-thumb span {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 13px;
    font-size: .82rem;
    font-weight: 700
}

.gallery-thumb span b {
    font-family: monospace;
    font-size: .7rem;
    color: #8a5d34;
    letter-spacing: .1em
}

.gallery-thumb:focus-visible {
    outline: 3px solid rgba(45, 109, 94, .35);
    outline-offset: 3px
}

.site-footer {
    background: #030908;
    color: var(--color-text);
    border-top: 1px solid var(--color-line);
    padding: 54px 0 24px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr .7fr 1.2fr;
    gap: 44px
}

.footer-title {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--color-text-muted);
    margin-bottom: 14px
}

.footer-links {
    display: grid;
    gap: 9px;
    color: #c2ceca;
    font-size: .9rem
}

.footer-legal-links {
    margin-top: 14px
}

.footer-company {
    font-size: .87rem;
    color: #bac6c2;
    line-height: 1.8
}

.disclaimer {
    margin-top: 36px;
    padding-top: 22px;
    border-top: 1px solid var(--color-line);
    color: #8fa19b;
    font-size: .8rem
}

.copyright {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 22px;
    color: #758781;
    font-size: .78rem
}

.cookie-banner {
    position: fixed;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 80;
    background: #f5f2ea;
    color: #17211f;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 18px;
    padding: 18px;
    box-shadow: var(--shadow);
    display: none
}

.cookie-banner.show {
    display: block
}

.cookie-inner {
    width: min(100%, var(--max));
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 22px
}

.cookie-copy {
    max-width: 760px
}

.cookie-copy strong {
    display: block;
    font-family: 'Newsreader', serif;
    font-size: 1.25rem
}

.cookie-copy p {
    font-size: .82rem;
    margin: 4px 0 0;
    color: #55645f
}

.cookie-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.cookie-actions button {
    min-height: 42px;
    padding: 0 15px;
    border-radius: 999px;
    border: 1px solid var(--color-line-dark);
    background: #fff
}

.cookie-actions .accept {
    background: #16352e;
    color: #fff;
    border-color: #16352e
}

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: .7s ease
}

.reveal.visible {
    opacity: 1;
    transform: none
}

.legal {
    background: var(--color-paper);
    color: var(--color-ink)
}

.legal .paper {
    color: var(--color-ink)
}

.legal h2 {
    font-size: 1.95rem;
    margin: 44px 0 14px;
    color: var(--color-ink)
}

.legal h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.35rem;
    margin: 28px 0 10px
}

.legal p {
    color: #43534e
}

.legal-content {
    word-break: break-word
}

.last-updated {
    margin: 0 0 8px;
    font-size: .9rem;
    color: var(--color-ink-muted)
}

.company-box {
    padding: 24px;
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-m);
    background: #fff;
    color: var(--color-ink);
    margin: 24px 0
}

.company-box p {
    margin: 5px 0;
    color: #43534e
}

.info-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px
}

.info-card {
    padding: 24px;
    border-radius: var(--radius-m);
    border: 1px solid var(--color-line-dark);
    background: var(--color-card);
    color: var(--color-ink)
}

.info-card h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.5rem;
    margin: 6px 0
}

.faq {
    display: grid;
    gap: 10px
}

.faq-item {
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-m);
    background: var(--color-card);
    color: var(--color-ink);
    overflow: hidden
}

.faq-q {
    width: 100%;
    background: none;
    border: 0;
    padding: 20px 22px;
    text-align: left;
    display: flex;
    justify-content: space-between;
    font-weight: 700;
    color: var(--color-ink)
}

.faq-a {
    display: none;
    padding: 0 22px 22px;
    color: #52615d
}

.faq-a.open {
    display: block
}

.thanks-layout {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 18px
}

.thanks-main,
.thanks-contact {
    padding: 34px;
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-l);
    background: var(--color-card);
    color: var(--color-ink)
}

.thanks-main h2 {
    font-size: var(--text-h2);
    margin: 10px 0
}

.next-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 28px 0
}

.next-steps article {
    padding: 20px;
    border: 1px solid var(--color-line-dark);
    border-radius: var(--radius-m)
}

.next-steps span {
    font-family: monospace;
    color: #8a5d34
}

.next-steps b {
    display: block;
    margin: 8px 0
}

.next-steps p {
    color: var(--color-ink-muted)
}

.thanks-actions {
    display: flex;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap
}

.thanks-contact h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.55rem
}

.thanks-contact p {
    color: var(--color-ink-muted)
}

.thanks-email {
    border-top: 1px solid var(--color-line-dark);
    padding-top: 14px
}

@media(max-width:1080px) {
    .nav-links {
        position: fixed;
        left: 16px;
        right: 16px;
        top: 92px;
        background: #0d1c19;
        border: 1px solid var(--color-line);
        border-radius: 20px;
        padding: 20px;
        display: none;
        flex-direction: column;
        align-items: stretch
    }

    .nav-links.open {
        display: flex
    }

    .nav-cta {
        display: none
    }

    .menu-toggle {
        display: block
    }

    .hero-grid,
    .story-grid,
    .subhero-grid,
    .expedition-overview,
    .expedition-detail-grid,
    .route-method-grid,
    .route-condition-layout,
    .day-flow,
    .gallery-notes,
    .about-editorial,
    .company-profile,
    .contact-page-grid,
    .contact-expect,
    .thanks-layout {
        grid-template-columns: 1fr
    }

    .hero {
        min-height: 700px
    }

    .flight-card {
        max-width: 520px
    }

    .story-copy {
        columns: 1
    }

    .hero-index {
        justify-content: flex-start
    }

    .expedition-teasers {
        grid-template-columns: repeat(2, 1fr)
    }

    .route-summary-grid,
    .about-pillars {
        grid-template-columns: repeat(2, 1fr)
    }

    .service-index {
        grid-template-columns: 1fr
    }

    .service-track {
        grid-template-columns: repeat(2, 1fr)
    }

    .service-track article:nth-child(2):after {
        display: none
    }

    .route-row {
        grid-template-columns: 70px 1fr
    }

    .route-time {
        grid-column: 2;
        border-left: 0;
        padding-left: 0
    }

    .condition-cards,
    .gallery-note-grid,
    .contact-expect-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr
    }

    .footer-grid>div:first-child {
        grid-column: 1/-1
    }

    .gallery-preview {
        grid-template-columns: 1fr 1fr
    }

    .gallery-preview figure.wide {
        grid-row: span 1
    }

    .gallery-preview figure:nth-child(4) {
        grid-column: auto
    }

    .editorial-gallery {
        grid-auto-rows: 100px
    }
}

@media(max-width:768px) {
    .gallery-main {
        aspect-ratio: 4/3
    }

    .gallery-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .gallery-main figcaption em {
        width: 100%;
        margin-left: 0
    }

    .section {
        padding: 72px 0
    }

    .section.compact {
        padding: 58px 0
    }

    .hero {
        padding-top: 72px
    }

    .hero-grid {
        gap: 28px
    }

    .hero h1 {
        font-size: clamp(3rem, 13vw, 4.6rem)
    }

    .section-head {
        display: block
    }

    .section-head p {
        margin-top: 16px
    }

    .stats {
        grid-template-columns: 1fr 1fr
    }

    .stat:nth-child(2) {
        border-right: 0
    }

    .stat:nth-child(-n+2) {
        border-bottom: 1px solid var(--color-line)
    }

    .expedition-teasers {
        grid-template-columns: 1fr
    }

    .teaser-tagline {
        min-height: auto
    }

    .route-summary-grid,
    .service-cards,
    .service-track,
    .route-method-steps,
    .condition-cards,
    .gallery-note-grid,
    .about-pillars,
    .contact-expect-grid,
    .next-steps {
        grid-template-columns: 1fr
    }

    .service-track article:after {
        display: none !important
    }

    .gallery-preview {
        grid-template-columns: 1fr;
        grid-auto-rows: 260px
    }

    .index-final-grid {
        grid-template-columns: 1fr
    }

    .route-row {
        grid-template-columns: 1fr;
        gap: 8px
    }

    .route-code,
    .route-time {
        grid-column: auto
    }

    .route-main {
        grid-template-columns: 1fr 30px 1fr
    }

    .route-time {
        border-top: 1px solid var(--color-line-dark);
        padding-top: 12px
    }

    .expedition-cover {
        aspect-ratio: 16/8
    }

    .expedition-cover-label {
        align-items: flex-end;
        gap: 12px
    }

    .expedition-facts {
        grid-template-columns: 1fr
    }

    .expedition-facts div {
        border-right: 0 !important;
        border-bottom: 1px solid var(--color-line-dark) !important
    }

    .expedition-facts div:last-child {
        border-bottom: 0 !important
    }

    .timeline-row {
        grid-template-columns: 78px 1fr
    }

    .editorial-gallery {
        grid-template-columns: 1fr;
        grid-auto-rows: 260px
    }

    .editorial-gallery figure {
        grid-column: auto !important;
        grid-row: auto !important
    }

    .form-grid {
        grid-template-columns: 1fr
    }

    .field.full {
        grid-column: auto
    }

    .planning-contact {
        grid-template-columns: 1fr
    }

    .compact-cta {
        align-items: flex-start;
        flex-direction: column
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .footer-grid>div:first-child {
        grid-column: auto
    }

    .copyright {
        flex-direction: column
    }

    .cookie-inner {
        display: block
    }

    .cookie-actions {
        margin-top: 12px
    }

    .route-photo-caption strong {
        font-size: 2rem
    }
}

@media(max-width:480px) {
    .gallery-thumbs {
        gap: 8px
    }

    .gallery-thumb span {
        padding: 9px 10px
    }

    .gallery-main figcaption {
        left: 15px;
        right: 15px;
        bottom: 14px
    }

    .gallery-main figcaption strong {
        font-size: 1.45rem
    }

    .container {
        width: min(calc(100% - 22px), var(--max))
    }

    .nav {
        height: 68px
    }

    .logo img {
        width: 30px;
        height: 30px
    }

    .stats {
        grid-template-columns: 1fr
    }

    .stat {
        border-right: 0;
        border-bottom: 1px solid var(--color-line)
    }

    .stat:last-child {
        border-bottom: 0
    }

    .subhero {
        padding: 62px 0 50px
    }

    .subhero h1 {
        font-size: clamp(2.4rem, 13vw, 3.4rem)
    }

    .expedition-cover {
        aspect-ratio: 4/3
    }

    .expedition-cover-label {
        left: 16px;
        right: 16px
    }

    .timeline-card,
    .manifest-card,
    .planning-aside,
    .journey-form-card,
    .thanks-main,
    .thanks-contact {
        padding: 22px
    }

    .timeline-row {
        grid-template-columns: 1fr;
        gap: 4px
    }

    .route-main span,
    .route-main strong {
        font-size: 1.3rem
    }

    .index-about,
    .index-contact {
        padding: 26px
    }

    .hero-actions .button {
        width: 100%
    }
}

@media (max-width: 900px) {
    .hero-grid > *,
    .story-grid > *,
    .subhero-grid > *,
    .expedition-teasers > *,
    .route-summary-grid > *,
    .service-cards > *,
    .gallery-preview > *,
    .index-final-grid > *,
    .contact-page-grid > *,
    .thanks-layout > *,
    .footer-grid > * {
        min-width: 0;
        max-width: 100%
    }
}

@media (max-width: 640px) {
    .nav {
        flex-wrap: wrap;
        height: auto;
        min-height: 68px;
        padding: 10px 0
    }

    .advert-strip {
        word-break: break-all
    }

    .logo {
        flex-direction: column
    }

    .logo span {
        word-break: break-all;
        min-width: 0;
        flex: 1
    }

    .footer-col,
    .footer-company {
        word-break: break-all
    }

    .submit-button {
        width: 100%;
        max-width: 100%
    }
}