:root {
    --ink: #0a0a09;
    --ink-2: #11110f;
    --paper: #eee9de;
    --paper-muted: rgba(238, 233, 222, .62);
    --gold: var(--wtl-project-accent, #b89157);
    --line: rgba(238, 233, 222, .18);
    --pad: clamp(20px, 4vw, 68px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: Arial, Helvetica, sans-serif; overflow-x: hidden; }
a { color: inherit; }
img { max-width: 100%; display: block; }
::selection { background: var(--gold); color: var(--ink); }

:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.wtl-skip-link { position: fixed; z-index: 1300; top: 10px; left: 10px; padding: 10px 14px; background: var(--paper); color: var(--ink); text-decoration: none; text-transform: uppercase; font-size: 9px; font-weight: 700; letter-spacing: .16em; transform: translateY(-160%); transition: transform .2s ease; }
.wtl-skip-link:focus { transform: translateY(0); }

.wtl-grain {
    position: fixed; inset: 0; z-index: 1000; pointer-events: none; opacity: .18; mix-blend-mode: soft-light;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
.wtl-scroll-progress { position: fixed; top: 0; left: 0; width: 100%; height: 2px; z-index: 1100; background: rgba(255,255,255,.06); }
.wtl-scroll-progress span { display: block; height: 100%; width: 0; background: var(--gold); }

.wtl-nav { position: fixed; z-index: 900; top: 0; left: 0; width: 100%; min-height: 86px; display: grid; grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr); align-items: center; padding: 0 var(--pad); background: linear-gradient(180deg, rgba(10,10,9,.56) 0%, rgba(10,10,9,.16) 72%, transparent 100%); border-bottom: 1px solid rgba(238,233,222,.10); transition: background .35s ease, border-color .35s ease, min-height .35s ease, box-shadow .35s ease; }
.wtl-nav.is-scrolled { min-height: 68px; background: rgba(10,10,9,.92); backdrop-filter: blur(18px); border-color: rgba(238,233,222,.16); box-shadow: 0 10px 36px rgba(0,0,0,.18); }
.wtl-brand-type { justify-self: start; display: inline-flex; align-items: baseline; gap: .075em; text-decoration: none; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; font-size: clamp(27px, 2.35vw, 42px); line-height: 1; letter-spacing: .012em; white-space: nowrap; }
.wtl-brand-type span { display: inline-block; }
.wtl-brand-walk { color: transparent; -webkit-text-stroke: 1.45px rgba(238,233,222,.90); paint-order: stroke fill; }
.wtl-brand-the { color: var(--paper); -webkit-text-stroke: 1px rgba(184,145,87,.95); paint-order: stroke fill; }
.wtl-brand-line { color: var(--gold); -webkit-text-stroke: 1px rgba(238,233,222,.90); paint-order: stroke fill; }
.wtl-nav-toggle { display: none; justify-self: end; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--paper); cursor: pointer; }
.wtl-nav-toggle span { display: block; width: 24px; height: 1px; margin: 7px auto; background: currentColor; transition: transform .25s ease, opacity .25s ease; }
.wtl-nav.is-menu-open .wtl-nav-toggle span:first-child { transform: translateY(4px) rotate(45deg); }
.wtl-nav.is-menu-open .wtl-nav-toggle span:last-child { transform: translateY(-4px) rotate(-45deg); }
.wtl-nav-links { grid-column: 2; justify-self: center; display: flex; align-items: center; gap: clamp(30px, 3.7vw, 68px); }
.wtl-nav-links a { position: relative; padding: 34px 0 31px; text-decoration: none; text-transform: uppercase; font-size: 10px; font-weight: 600; letter-spacing: .25em; opacity: .76; transition: opacity .2s ease, color .2s ease; }
.wtl-nav-links a::after { content: ""; position: absolute; left: 0; right: .25em; bottom: 22px; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: center; transition: transform .25s ease; }
.wtl-nav-links a:hover { opacity: 1; }
.wtl-nav-links a:hover::after, .wtl-nav-links a:focus-visible::after { transform: scaleX(1); }
.wtl-nav.is-scrolled .wtl-nav-links a { padding-top: 25px; padding-bottom: 23px; }
.wtl-nav.is-scrolled .wtl-nav-links a::after { bottom: 16px; }

.wtl-panel { position: relative; min-height: 100svh; border-bottom: 1px solid var(--line); overflow: clip; }
.wtl-section-number, .wtl-hero-index { position: absolute; font-size: 10px; letter-spacing: .25em; opacity: .46; }
.wtl-section-number { top: 110px; left: var(--pad); }

.wtl-hero { min-height: 100svh; display: grid; grid-template-columns: 54% 46%; padding: 124px var(--pad) 42px; align-items: center; isolation: isolate; }
.wtl-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 75% 48%, rgba(184,145,87,.12), transparent 28%), linear-gradient(90deg, transparent 0 49.8%, rgba(255,255,255,.07) 50%, transparent 50.15%); z-index: -2; }
.wtl-hero-index { right: var(--pad); bottom: 38px; }
.wtl-hero-copy { position: relative; z-index: 3; align-self: end; padding-bottom: 13vh; }
.wtl-eyebrow, .wtl-kicker { margin: 0 0 24px; color: var(--gold); text-transform: uppercase; font-size: 10px; letter-spacing: .35em; }
.wtl-hero h1 { margin: 0; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-weight: 900; font-size: clamp(92px, 14.6vw, 258px); line-height: .79; letter-spacing: -.035em; text-transform: uppercase; }
.wtl-line { display: block; }
.wtl-line-the,
.wtl-line-offset {
    font-kerning: none;
    font-feature-settings: "kern" 0;
}
.wtl-line-the { color: var(--paper); margin-left: 1.5vw; letter-spacing: .001em; -webkit-text-stroke: 2.4px rgba(184,145,87,.96); paint-order: stroke fill; text-shadow: 0 0 18px rgba(184,145,87,.08); }
.wtl-line-outline { color: transparent; -webkit-text-stroke: 1px rgba(238,233,222,.78); }
.wtl-line-offset { margin-left: 11vw; margin-top: .025em; letter-spacing: .009em; color: var(--gold); -webkit-text-stroke: 2.4px rgba(238,233,222,.96); paint-order: stroke fill; text-shadow: 0 0 18px rgba(238,233,222,.05); }
.wtl-hero-statement { margin: clamp(28px, 4vh, 48px) 0 0 14vw; font: italic 400 clamp(20px, 2vw, 34px)/1.15 Georgia, serif; letter-spacing: -.02em; }
.wtl-hero-statement strong { color: var(--gold); font-style: normal; }
.wtl-hero-image { position: absolute; right: 5vw; top: 14vh; width: min(38vw, 620px); height: min(69vh, 790px); z-index: 1; transform: rotate(1.4deg); clip-path: polygon(10% 0, 100% 7%, 93% 91%, 0 100%, 4% 21%); }
.wtl-specimen { margin: 0; background: #171613; }
.wtl-specimen img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.58) contrast(1.08); }
.wtl-specimen figcaption { position: absolute; bottom: 14px; right: 16px; font-size: 8px; letter-spacing: .22em; opacity: .52; }
.wtl-hero-note { position: absolute; right: var(--pad); bottom: 15vh; width: 170px; z-index: 3; }
.wtl-hero-note .wtl-rule { display: block; height: 1px; width: 52px; background: var(--gold); margin-bottom: 14px; }
.wtl-hero-note p { margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: .18em; line-height: 1.8; }
.wtl-scroll-cue { position: absolute; left: var(--pad); bottom: 34px; display: flex; align-items: center; gap: 16px; text-decoration: none; text-transform: uppercase; font-size: 8px; letter-spacing: .24em; opacity: .6; }
.wtl-scroll-cue i { width: 70px; height: 1px; background: var(--paper); position: relative; }
.wtl-scroll-cue i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-right: 1px solid var(--paper); border-bottom: 1px solid var(--paper); transform: rotate(-45deg); }

.wtl-manifesto { min-height: 118svh; padding: 16vh var(--pad) 10vh; background: var(--paper); color: var(--ink); }
.wtl-manifesto .wtl-section-number { color: var(--ink); opacity: .48; }
.wtl-manifesto-word { position: absolute; left: 50%; top: 8vh; width: 100%; transform: translateX(-50%); text-align: center; white-space: nowrap; font-family: Impact, sans-serif; font-size: 33vw; line-height: .8; letter-spacing: .06em; color: transparent; -webkit-text-stroke: 1px rgba(10,10,9,.09); pointer-events: none; }
.wtl-manifesto-copy { position: relative; width: min(720px, 58vw); margin: 9vh 0 0 10vw; z-index: 2; }
.wtl-manifesto .wtl-kicker { color: #765d38; }
.wtl-manifesto-copy h2 { font: 400 clamp(48px, 6.5vw, 112px)/.88 Georgia, serif; letter-spacing: -.055em; margin: 0; }
.wtl-manifesto-copy h2 em { color: #765d38; }
.wtl-manifesto-copy > p:last-child { width: min(560px, 72%); margin: 48px 0 0 17vw; font-size: clamp(15px, 1.2vw, 19px); line-height: 1.7; }
.wtl-manifesto-image { position: absolute; right: 7vw; bottom: 10vh; width: min(29vw, 430px); height: 48vh; transform: rotate(-4deg); box-shadow: 0 26px 70px rgba(0,0,0,.22); }
.wtl-manifesto-side { position: absolute; left: var(--pad); bottom: 11vh; display: flex; align-items: center; gap: 16px; font-family: Impact, sans-serif; font-size: clamp(20px, 2.3vw, 36px); letter-spacing: -.03em; transform: rotate(-90deg); transform-origin: left bottom; }
.wtl-manifesto-side small { font-family: Arial, sans-serif; font-size: 8px; letter-spacing: .18em; text-transform: uppercase; opacity: .55; }

.wtl-show { min-height: 118svh; background: #0d0d0c; padding: 16vh var(--pad) 12vh; }
.wtl-show-marquee { position: absolute; top: 12vh; left: 0; width: 100%; overflow: hidden; white-space: nowrap; color: rgba(238,233,222,.065); font-family: Impact, sans-serif; font-size: clamp(78px, 11vw, 178px); letter-spacing: .015em; pointer-events: none; text-align: center; }
.wtl-show-marquee div { display: block; width: 100%; }
.wtl-show-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 42% 32% 26%; align-items: end; min-height: 84vh; }
.wtl-show-title { align-self: start; margin-top: 12vh; }
.wtl-show-title h2 { margin: 0; font-family: Impact, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(58px, 7vw, 118px); line-height: .9; letter-spacing: -.04em; }
.wtl-show-title h2 span { color: rgba(238,233,222,.06); -webkit-text-stroke: 1.6px rgba(238,233,222,.9); text-shadow: 0 0 28px rgba(238,233,222,.035); }
.wtl-show-image { position: relative; height: 70vh; transform: translateY(7vh) rotate(2deg); clip-path: polygon(0 6%, 94% 0, 100% 93%, 7% 100%); }
.wtl-show-text { padding: 0 0 3vh 4vw; }
.wtl-show-text p { font: 400 clamp(16px, 1.3vw, 21px)/1.65 Georgia, serif; color: var(--paper-muted); }
.wtl-text-link { display: inline-flex; gap: 16px; margin-top: 22px; padding-bottom: 8px; border-bottom: 1px solid var(--gold); text-decoration: none; text-transform: uppercase; font-size: 10px; letter-spacing: .18em; }
.wtl-text-link span { color: var(--gold); }

.wtl-dates { min-height: 100svh; padding: 16vh var(--pad) 10vh; background: #c7b38d; color: var(--ink); }
.wtl-dates .wtl-section-number { color: var(--ink); }
.wtl-dates-head { display: grid; grid-template-columns: 1fr 2fr; align-items: end; margin-bottom: 8vh; }
.wtl-dates-head .wtl-kicker { color: #5a4528; }
.wtl-dates-head h2 { margin: 0; justify-self: end; font-family: Impact, sans-serif; text-transform: uppercase; font-size: clamp(82px, 13vw, 210px); line-height: .82; letter-spacing: .012em; text-align: right; }
.wtl-dates-head h2 span { color: transparent; -webkit-text-stroke: 1.5px rgba(10,10,9,.82); letter-spacing: .025em; }
.wtl-date-list { border-top: 1px solid rgba(10,10,9,.35); }
.wtl-date-row { min-height: 124px; display: grid; grid-template-columns: 150px 1fr 150px 90px; gap: 26px; align-items: center; border-bottom: 1px solid rgba(10,10,9,.28); transition: background .25s ease, padding .25s ease; }
.wtl-date-row:hover { background: rgba(255,255,255,.18); padding-left: 18px; padding-right: 18px; }
.wtl-date-number { display: flex; gap: 12px; align-items: baseline; }
.wtl-date-number b { font-family: Impact, sans-serif; font-size: 62px; line-height: 1; font-weight: 400; }
.wtl-date-number span { font-size: 10px; letter-spacing: .22em; }
.wtl-date-place strong { display: block; font-size: clamp(19px, 2vw, 31px); letter-spacing: -.025em; }
.wtl-date-place span { display: block; margin-top: 8px; font-size: 10px; text-transform: uppercase; letter-spacing: .2em; opacity: .65; }
.wtl-pill { border: 1px solid var(--ink); padding: 7px 9px; font-size: 8px; letter-spacing: .15em; }
.wtl-date-link { justify-self: end; text-decoration: none; text-transform: uppercase; font-size: 9px; letter-spacing: .16em; }
.wtl-date-link span { font-size: 16px; }
.wtl-date-link.is-muted { opacity: .45; }
.wtl-date-empty { grid-template-columns: 150px 1fr 90px; }
.wtl-dates-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 6vh; font-size: 9px; text-transform: uppercase; letter-spacing: .18em; }

.wtl-media { min-height: 110svh; padding: 15vh var(--pad) 12vh; display: grid; place-items: center; background: #080808; }
.wtl-media-frame { width: min(1180px, 88vw); }
.wtl-media-screen { aspect-ratio: 16/9; position: relative; overflow: hidden; background: radial-gradient(circle at 54% 48%, rgba(184,145,87,.22), transparent 18%), linear-gradient(135deg, #211f1a 0%, #0a0a09 54%, #15130f 100%); border: 1px solid rgba(238,233,222,.16); box-shadow: 0 50px 100px rgba(0,0,0,.45); }
.wtl-media-screen::before, .wtl-media-screen::after { content:""; position:absolute; inset:0; }
.wtl-media-screen::before { background: linear-gradient(90deg, transparent 48%, rgba(238,233,222,.08) 49%, transparent 50%), linear-gradient(0deg, transparent 64%, rgba(238,233,222,.05) 65%, transparent 66%); transform: rotate(-8deg) scale(1.3); }
.wtl-media-screen::after { border: 34px solid rgba(0,0,0,.22); pointer-events:none; }
.wtl-media-play { position: absolute; left: 50%; top: 50%; width: 92px; height: 92px; border-radius: 50%; border: 1px solid rgba(238,233,222,.68); display: grid; place-items: center; transform: translate(-50%,-50%); font-size: 18px; padding-left: 5px; }
.wtl-media-caption { position: absolute; left: 34px; bottom: 28px; }
.wtl-media-caption small { display: block; font-size: 8px; letter-spacing: .25em; color: var(--gold); margin-bottom: 8px; }
.wtl-media-caption strong { font: 400 clamp(24px, 3vw, 48px)/1 Georgia, serif; }
.wtl-media-frame > p { width: min(560px, 70%); margin: 26px 0 0 auto; color: var(--paper-muted); font: italic 400 16px/1.6 Georgia, serif; }

.wtl-booking { min-height: 100svh; position: relative; padding: 16vh var(--pad) 42px; background: var(--gold); color: var(--ink); overflow: hidden; display: grid; grid-template-columns: 58% 42%; align-items: center; }
.wtl-booking .wtl-kicker { color: rgba(10,10,9,.62); }
.wtl-booking-copy { position: relative; z-index: 2; }
.wtl-booking-copy h2 { margin: 0; font-family: Impact, sans-serif; text-transform: uppercase; font-size: clamp(82px, 10.8vw, 186px); line-height: .84; letter-spacing: -.018em; }
.wtl-booking-copy h2 > span { display: inline-block; letter-spacing: .005em; }
.wtl-booking-copy h2 em { display: inline-block; font-family: Georgia, serif; text-transform: lowercase; font-weight: 400; font-size: .82em; line-height: .92; color: rgba(10,10,9,.03); -webkit-text-stroke: 1.6px rgba(10,10,9,.88); letter-spacing: -.03em; }
.wtl-booking-meta { align-self: end; padding: 0 0 8vh 5vw; position: relative; z-index: 2; }
.wtl-booking-meta > p { max-width: 480px; font: 400 clamp(17px, 1.5vw, 22px)/1.55 Georgia, serif; }
.wtl-booking-mail { display: inline-flex; align-items: center; gap: 16px; font-size: clamp(18px, 2vw, 30px); text-decoration: none; border-bottom: 2px solid var(--ink); padding-bottom: 6px; margin-top: 30px; }
.wtl-booking-links { margin-top: 48px; display: flex; gap: 28px; text-transform: uppercase; font-size: 9px; letter-spacing: .18em; }
.wtl-booking-links a { text-decoration: none; }
.wtl-footer-mark { position: absolute; right: -3vw; top: 2vh; font-family: Impact, sans-serif; font-size: 42vw; line-height: 1; color: rgba(10,10,9,.055); pointer-events: none; letter-spacing: -.08em; }
.wtl-booking footer { position: absolute; left: var(--pad); right: var(--pad); bottom: 28px; display: flex; justify-content: space-between; border-top: 1px solid rgba(10,10,9,.35); padding-top: 16px; font-size: 8px; text-transform: uppercase; letter-spacing: .2em; }

[data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.wtl-no-js [data-reveal] { opacity: 1; transform: none; }

@media (max-width: 900px) {
    .wtl-nav { grid-template-columns: 1fr auto; min-height: 72px; background: rgba(10,10,9,.88); backdrop-filter: blur(14px); }
    .wtl-nav-toggle { display: block; grid-column: 2; grid-row: 1; position: relative; z-index: 1002; }
    .wtl-nav-links {
        position: fixed;
        z-index: 1001;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: min(86vw, 390px);
        height: 100dvh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        gap: 0;
        padding: 92px clamp(28px, 8vw, 46px) 42px;
        background: rgba(10,10,9,.985);
        border-left: 1px solid rgba(238,233,222,.14);
        box-shadow: -28px 0 70px rgba(0,0,0,.32);
        transform: translate3d(100%,0,0);
        opacity: 1;
        visibility: hidden;
        pointer-events: none;
        overflow-y: auto;
        overscroll-behavior: contain;
        transition: transform .34s cubic-bezier(.2,.75,.2,1), visibility .34s ease;
    }
    .wtl-nav.is-menu-open .wtl-nav-links { transform: translate3d(0,0,0); visibility: visible; pointer-events: auto; }
    .wtl-nav-links a, .wtl-nav.is-scrolled .wtl-nav-links a { padding: 22px 0 20px; border-bottom: 1px solid rgba(238,233,222,.10); font-size: 12px; letter-spacing: .28em; }
    .wtl-nav-links a:first-child { border-top: 1px solid rgba(238,233,222,.10); }
    .wtl-nav-links a::after, .wtl-nav.is-scrolled .wtl-nav-links a::after { bottom: 11px; transform-origin: left; }
    html.wtl-menu-open, html.wtl-menu-open body { overflow: hidden; }
    .wtl-brand-type { grid-column: 1; grid-row: 1; font-size: 29px; }
    .wtl-hero { display: block; padding-top: 120px; min-height: 100svh; }
    .wtl-hero-copy { padding-bottom: 0; }
    .wtl-hero h1 { font-size: clamp(92px, 26vw, 170px); }
    .wtl-line-offset { margin-left: 13vw; }
    .wtl-hero-image { width: 62vw; height: 48vh; right: -4vw; top: 41vh; opacity: .9; }
    .wtl-hero-statement { position: relative; z-index: 3; margin-left: 2vw; width: 55vw; }
    .wtl-hero-note { display: none; }
    .wtl-manifesto { min-height: 130svh; padding-top: 14vh; }
    .wtl-manifesto-copy { width: 92%; margin: 12vh 0 0; }
    .wtl-manifesto-copy > p:last-child { width: 80%; margin-left: 12vw; }
    .wtl-manifesto-image { width: 52vw; height: 43vh; right: 4vw; bottom: 7vh; }
    .wtl-manifesto-side { display: none; }
    .wtl-show { min-height: auto; }
    .wtl-show-grid { grid-template-columns: 1fr; gap: 42px; min-height: 0; }
    .wtl-show-title { margin-top: 12vh; }
    .wtl-show-image { width: 74vw; height: 56vh; justify-self: end; transform: rotate(2deg); }
    .wtl-show-text { padding: 0 10vw 0 0; }
    .wtl-dates-head { grid-template-columns: 1fr; }
    .wtl-dates-head h2 { justify-self: start; text-align: left; margin-top: 20px; }
    .wtl-date-row { grid-template-columns: 92px 1fr 70px; min-height: 104px; gap: 14px; }
    .wtl-date-status { display: none; }
    .wtl-date-number b { font-size: 45px; }
    .wtl-date-empty { grid-template-columns: 92px 1fr; }
    .wtl-date-empty .wtl-date-link { display:none; }
    .wtl-media-frame { width: 100%; }
    .wtl-booking { grid-template-columns: 1fr; min-height: 110svh; align-content: center; gap: 45px; }
    .wtl-booking-meta { padding: 0; }
}

@media (max-width: 560px) {
    :root { --pad: 18px; }
    .wtl-nav { min-height: 66px; }
    .wtl-brand-type { font-size: 26px; }
    .wtl-nav-links { width: min(88vw, 360px); padding-top: 84px; }
    .wtl-hero { padding-top: 110px; }
    .wtl-hero h1 { font-size: 24vw; line-height: .76; }
    .wtl-hero-image { top: 37vh; width: 78vw; height: 46vh; right: -12vw; }
    .wtl-hero-statement { width: 70vw; font-size: 20px; margin-top: 28px; }
    .wtl-scroll-cue { bottom: 20px; }
    .wtl-manifesto-copy h2 { font-size: 13vw; }
    .wtl-manifesto-word { left: 50%; font-size: 46vw; letter-spacing: .08em; }
    .wtl-manifesto { min-height: auto; padding-bottom: 42px; }
    .wtl-manifesto-copy > p:last-child { width: 92%; margin: 34px 0 0 4vw; }
    .wtl-manifesto-image { position: relative; width: 78vw; height: 42vh; right: auto; bottom: auto; margin: 38px 0 0 auto; transform: rotate(-3deg); }
    .wtl-show-title h2 { font-size: 15vw; }
    .wtl-show-image { width: 88vw; height: 50vh; }
    .wtl-dates-head h2 { font-size: 22vw; }
    .wtl-date-row { grid-template-columns: 72px 1fr; padding: 18px 0; }
    .wtl-date-link { display: none; }
    .wtl-date-number { display: block; }
    .wtl-date-number b { display:block; }
    .wtl-dates-foot { align-items: flex-start; flex-direction: column; gap: 20px; }
    .wtl-media-screen { aspect-ratio: 4/5; }
    .wtl-media-frame > p { width: 86%; }
    .wtl-booking-copy h2 { font-size: 21vw; }
    .wtl-booking-mail { font-size: 16px; word-break: break-all; }
    .wtl-booking footer { flex-wrap: wrap; gap: 10px 18px; }
}


.wtl-legal-links { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.wtl-legal-links a { color:inherit; text-decoration:none; opacity:.62; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.wtl-legal-links a:hover, .wtl-legal-links a:focus-visible { opacity:1; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    [data-reveal] { opacity: 1; transform: none; }
}

/* V16.6.3 — responsive final + page 404 */
@media (max-width: 560px) {
    .wtl-show-marquee {
        top: 9vh;
        font-size: 9.6vw;
        letter-spacing: 0;
        padding-inline: var(--pad);
        box-sizing: border-box;
    }

    .wtl-booking {
        padding-bottom: 150px;
    }
    .wtl-booking footer {
        left: var(--pad);
        right: var(--pad);
        bottom: 18px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 7px;
        line-height: 1.45;
    }
    .wtl-booking footer > span {
        display: block;
    }
    .wtl-booking footer .wtl-legal-links {
        width: 100%;
        margin-top: 2px;
        gap: 6px 14px;
    }
}

.wtl-error-page {
    min-height: 100svh;
    padding: 150px var(--pad) 64px;
    background: #0b0b0a;
    color: var(--paper);
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    gap: 8vw;
    align-items: center;
    overflow: hidden;
}
.wtl-error-ghost {
    position: absolute;
    right: -3vw;
    top: 9vh;
    font: 900 min(42vw, 680px)/.8 Impact, sans-serif;
    letter-spacing: -.06em;
    color: rgba(238,233,222,.035);
    pointer-events: none;
}
.wtl-error-copy { position: relative; z-index: 1; }
.wtl-error-code {
    margin: 0 0 18px;
    color: var(--gold);
    font-size: 9px;
    letter-spacing: .3em;
    text-transform: uppercase;
}
.wtl-error-copy h1 {
    margin: 0;
    font: 900 clamp(84px, 11vw, 190px)/.78 Impact, sans-serif;
    text-transform: uppercase;
    letter-spacing: -.035em;
}
.wtl-error-copy h1 span {
    display: block;
    color: transparent;
    -webkit-text-stroke: 1.5px rgba(238,233,222,.9);
}
.wtl-error-copy p:last-of-type {
    max-width: 620px;
    margin: 38px 0 0 8vw;
    font: 400 clamp(18px, 1.6vw, 25px)/1.55 Georgia, serif;
    color: var(--paper-muted);
}
.wtl-error-actions {
    position: relative;
    z-index: 1;
    align-self: end;
    padding-bottom: 6vh;
}
.wtl-error-actions a {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 0;
    border-top: 1px solid var(--gold);
    border-bottom: 1px solid var(--gold);
    color: var(--paper);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: 10px;
}
.wtl-error-actions a span { color: var(--gold); }
.wtl-error-footer {
    position: absolute;
    left: var(--pad);
    right: var(--pad);
    bottom: 24px;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(238,233,222,.18);
    font-size: 8px;
    letter-spacing: .18em;
    text-transform: uppercase;
}
@media (max-width: 900px) {
    .wtl-error-page { grid-template-columns: 1fr; align-content: center; gap: 56px; }
    .wtl-error-actions { width: min(420px, 100%); padding-bottom: 90px; }
}
@media (max-width: 560px) {
    .wtl-error-page { padding-top: 118px; padding-bottom: 170px; }
    .wtl-error-copy h1 { font-size: 24vw; }
    .wtl-error-copy p:last-of-type { margin-left: 4vw; }
    .wtl-error-ghost { top: 16vh; font-size: 52vw; }
    .wtl-error-actions { padding-bottom: 0; }
    .wtl-error-footer {
        bottom: 18px;
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
        line-height: 1.45;
    }
    .wtl-error-footer .wtl-legal-links { gap: 6px 14px; }
}

/* V16.8.1 — homepage dates use the same day / month / year grammar as /dates. */
.wtl-date-number { align-items: center; }
.wtl-date-number span,
.wtl-date-number small { display: block; }
.wtl-date-number small { margin-top: 3px; font-size: 10px; letter-spacing: .18em; opacity: .62; }
.wtl-date-number > span { line-height: 1.2; }
@media (min-width: 561px) {
    .wtl-date-number { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; }
    .wtl-date-number b { grid-row: 1 / span 2; }
    .wtl-date-number span { align-self: end; }
    .wtl-date-number small { align-self: start; }
}

/* --- WTL photography system -------------------------------------------------
   Keep page layouts independent from a specific JPG. Change the source and,
   for graphic crops only, --photo-position in the Twig include. */
.wtl-photo { margin:0; position:relative; background:#171613; overflow:hidden; }
.wtl-photo picture { display:block; width:100%; height:100%; }
.wtl-photo img { display:block; width:100%; }
.wtl-photo--graphic img,
.wtl-photo--graphic picture > img { height:100%; object-fit:cover; object-position:var(--photo-position, 50% 50%); filter:saturate(.72) contrast(1.05); }
.wtl-photo--native { background:transparent; overflow:visible; }
.wtl-photo--native img,
.wtl-photo--detail img { height:auto; object-fit:contain; object-position:center; filter:none; }
.wtl-photo--detail { background:transparent; }
.wtl-photo-credit { opacity:.58; font-size:8px; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }

/* Hero photographs remain absolutely positioned. The generic .wtl-photo component
   is position:relative by default, so page heroes must explicitly opt back out. */
.wtl-hero-image.wtl-photo { position:absolute; right:4.5vw; left:auto; top:14vh; width:min(36vw,600px); height:min(69vh,790px); }

/* Real photographs on the homepage */
.wtl-manifesto-image.wtl-photo--native { position:absolute; width:min(43vw,720px); height:auto; right:2vw; left:auto; bottom:7vh; clip-path:none; background:transparent; box-shadow:0 26px 70px rgba(0,0,0,.18); }
.wtl-manifesto-image.wtl-photo--native img { width:100%; height:auto; }
.wtl-show-text p + p { margin-top:18px; }

.wtl-photo-breath { position:relative; background:#090909; padding:0; overflow:hidden; border-bottom:1px solid var(--line); }
.wtl-photo-breath-image { width:100%; }
.wtl-photo-breath-image img { width:100%; }
.wtl-photo-breath::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,7,7,.42), transparent 45%, rgba(7,7,7,.06)); pointer-events:none; }
.wtl-photo-breath-copy { position:absolute; z-index:2; left:var(--pad); bottom:clamp(26px,7vw,96px); display:flex; flex-direction:column; font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; font-size:clamp(58px,10vw,168px); line-height:.78; letter-spacing:-.025em; text-transform:uppercase; }
.wtl-photo-breath-copy span { color:transparent; -webkit-text-stroke:1.5px rgba(238,233,222,.92); }
.wtl-photo-breath-copy strong { color:var(--paper); font-weight:900; }

@media (max-width:900px) {
    .wtl-hero-image.wtl-photo { width:62vw; height:48vh; right:-4vw; top:41vh; }
    .wtl-manifesto-image.wtl-photo--native { width:62vw; right:3vw; bottom:6vh; }
    .wtl-photo-breath-copy { font-size:clamp(54px,14vw,118px); }
}
@media (max-width:560px) {
    .wtl-hero-image.wtl-photo { top:37vh; width:78vw; height:46vh; right:-12vw; }
    .wtl-manifesto-image.wtl-photo--native { position:relative; width:92vw; right:auto; bottom:auto; margin:38px 0 0 auto; transform:rotate(-2deg); }
    .wtl-photo-breath { min-height:0; }
    .wtl-photo-breath-copy { left:18px; bottom:24px; font-size:17vw; }
    .wtl-photo-credit { width:100%; white-space:normal; }
}

/* V16.11.10 — mobile photographic layout hardening */
@media (max-width:560px) {
  /* Mobile heroes use normal flow so the photograph can no longer cover the copy. */
  .wtl-hero {
    min-height:auto;
    padding-top:106px;
    padding-bottom:76px;
  }
  .wtl-hero-copy { position:relative; z-index:3; }
  .wtl-hero-image.wtl-photo {
    position:relative;
    inset:auto;
    width:88vw;
    height:52vh;
    min-height:420px;
    max-height:560px;
    margin:34px -4vw 0 auto;
    transform:rotate(1.4deg);
  }
  .wtl-hero-statement {
    width:88%;
    margin:28px 0 0 2vw;
  }
  .wtl-hero-index { bottom:24px; }
}

/* V16.11.14 — live video */
.wtl-media-screen--video {
    background:#050505;
}
.wtl-media-screen--video::before,
.wtl-media-screen--video::after,
.wtl-media-screen--video .wtl-media-noise,
.wtl-media-screen--video .wtl-media-play {
    display:none;
}
.wtl-media-video {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    background:#050505;
}
.wtl-media-screen--video .wtl-media-caption {
    top:24px;
    bottom:auto;
    pointer-events:none;
    text-shadow:0 2px 14px rgba(0,0,0,.85);
}
@media (max-width:560px) {
    .wtl-media-screen--video { aspect-ratio:5/4; }
    .wtl-media-screen--video .wtl-media-caption { top:16px; left:16px; }
}

/* Google Analytics consent */
.wtl-cookie-consent{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;max-width:920px;margin:0 auto;background:rgba(10,10,9,.97);color:#f4efe6;border:1px solid rgba(184,145,87,.5);box-shadow:0 18px 60px rgba(0,0,0,.45)}
.wtl-cookie-consent[hidden],.wtl-cookie-settings[hidden]{display:none!important}
.wtl-cookie-consent__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px}
.wtl-cookie-consent strong{display:block;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;color:#d7b57d}
.wtl-cookie-consent p{margin:5px 0 0;max-width:650px;font-size:.86rem;line-height:1.5;color:rgba(244,239,230,.78)}
.wtl-cookie-consent__actions{display:flex;gap:9px;flex:0 0 auto}
.wtl-cookie-btn,.wtl-cookie-settings{border:1px solid #d7b57d;background:#d7b57d;color:#0a0a09;padding:9px 14px;font:700 .72rem/1 sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.wtl-cookie-btn--ghost{background:transparent;color:#f4efe6;border-color:rgba(244,239,230,.4)}
.wtl-cookie-settings{position:fixed;right:14px;bottom:14px;z-index:9998;padding:7px 10px;background:rgba(10,10,9,.9);color:#d7b57d;font-size:.62rem}
@media(max-width:700px){.wtl-cookie-consent{left:10px;right:10px;bottom:10px}.wtl-cookie-consent__inner{align-items:flex-start;flex-direction:column;gap:14px}.wtl-cookie-consent__actions{width:100%}.wtl-cookie-btn{flex:1}}
