/* ---- corridor (Corridor — Export trade & capital advisory 96) ---------------
   THE STRUCTURAL MOVE: after a full-viewport hero the whole page collapses into
   ONE narrow centred column, and that column is broken exactly twice — by a
   full-bleed video band, and by the gapless row of four oversized numerals
   welded flush to that band's bottom edge with no gutters and no boxes. Bone
   paper the whole way down; the bottle green is allowed on three things only —
   those four numerals, the region percentages, and the short rule under each
   heading. The two `columns` blocks are told apart by the renderer's own ids
   (#columns, #columns-2) and never by :nth-of-type, which would match the hero
   instead. Everything else is left to the shared stylesheet. */
body.t-corridor.ws-body {
  --bg: #f2efe8; --fg: #3c3f3c; --heading: #0e100f; --text: #3c3f3c; --muted: #7d817c;
  --cdr-green: #1f4d3a; --cdr-line: #d5d0c3; --cdr-ink: #12140f; --cdr-on: #f2efe8; --cdr-field: #fbf9f4;
  --hero-a: rgba(8, 10, 9, .60); --hero-b: rgba(8, 10, 9, .78);
  --sf-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
}
body.t-corridor { background: var(--bg); }

/* nav — transparent, centred logo over the photograph, and it scrolls away
   instead of sticking (absolute, so the hero starts at the document top) */
body.t-corridor .ws-nav { position: absolute; top: 0; left: 0; right: 0; background: transparent; backdrop-filter: none; border-bottom: 0; }
/* header stays one row, brand hard left — house rule; the theme keeps its
   own type, colour and rhythm, it just does not restack or centre the name */
body.t-corridor .ws-nav-inner { flex-wrap: nowrap; gap: 24px; height: auto; padding-top: 20px; padding-bottom: 20px; }
body.t-corridor .ws-brand { color: #ffffff; font-size: 16px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; white-space: nowrap; }
/* NINE links plus the button: they must stay on ONE line beside the wordmark.
   Letting them wrap reflows the bar and the reading order stops making sense,
   so the type tightens instead of the row breaking. */
body.t-corridor .ws-nav-links { flex-wrap: nowrap; justify-content: flex-end; gap: 16px; }
body.t-corridor .ws-nav-links a { color: rgba(255, 255, 255, .76); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; opacity: 1; }
body.t-corridor .ws-nav-links a:hover, body.t-corridor .ws-nav-links a.on { color: #ffffff; }

/* hero — full viewport under a heavy overlay, everything on the centre axis */
body.t-corridor .ws-hero { min-height: 100vh; }
body.t-corridor .ws-hero-inner { padding: 150px 22px 96px; }
body.t-corridor .ws-hero h1 { font-size: clamp(34px, 5.4vw, 64px); font-weight: 600; letter-spacing: -.03em; line-height: 1.05; max-width: 17ch; text-shadow: none; }
body.t-corridor .btn.brand, body.t-corridor .ws-hero-cta.btn.brand, body.t-corridor .ws-cta .btn.brand { background: var(--cdr-on); color: var(--cdr-ink); border-radius: 0; box-shadow: none; font-size: 11px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; padding: 16px 34px; }

/* the ladder — one measure carries the page, and the zebra tint is switched off */
body.t-corridor .ws-section { padding: 100px 0; }
body.t-corridor .ws-section:nth-child(even):not(.ws-cta):not(.ws-shoplink) { background: transparent; }
body.t-corridor main .ws-container { max-width: 720px; }
body.t-corridor .ws-h2 { font-size: clamp(23px, 2.9vw, 31px); font-weight: 600; letter-spacing: -.02em; color: var(--heading); text-align: left; margin: 0 0 28px; }
body.t-corridor .ws-h2::after { content: ''; display: block; width: 34px; height: 1px; background: var(--cdr-green); margin-top: 18px; }
body.t-corridor .ws-richtext p { font-size: 17px; line-height: 1.88; color: var(--text); margin: 0 0 20px; }

/* text against text — and the named attribution that closes the right column */
body.t-corridor .ws-columns .ws-cols { gap: 56px; }
body.t-corridor .ws-col-h { font-size: 19px; font-weight: 600; letter-spacing: -.01em; color: var(--heading); margin: 0 0 18px; }
body.t-corridor .ws-col p { font-size: 15px; line-height: 1.8; color: var(--text); margin: 0 0 15px; }
body.t-corridor #columns .ws-col:last-child p:nth-last-child(2) { margin: 30px 0 2px; color: var(--heading); font-weight: 600; }
body.t-corridor #columns .ws-col:last-child p:last-child { font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }

/* the break — the first photograph on the page, full bleed and cool-graded */
body.t-corridor .ws-video { padding: 92px 0 100px; background-image: linear-gradient(rgba(13, 19, 21, .82), rgba(13, 19, 21, .90)), url("/media/samples/cdr_video_still.jpg"); background-size: cover; background-position: center; }
body.t-corridor .ws-video .ws-h2 { color: #f2efe8; }
body.t-corridor .ws-video-frame { border-radius: 0; box-shadow: none; }
body.t-corridor .ws-video-caption { text-align: left; color: #a3a8a2; font-size: 13px; line-height: 1.65; }

/* THE WELD — four numerals butted onto the band's bottom edge, no gutters */
body.t-corridor .ws-features, body.t-corridor .ws-features .ws-container { padding: 0; max-width: none; }
body.t-corridor .ws-features-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
body.t-corridor .ws-feature { text-align: left; padding: 44px clamp(18px, 2.4vw, 34px) 50px; border-left: 1px solid var(--cdr-line); border-bottom: 1px solid var(--cdr-line); }
body.t-corridor .ws-feature:first-child { border-left: 0; }
body.t-corridor .ws-feature-icon { color: var(--muted); margin-bottom: 18px; }
body.t-corridor .ws-feature-icon .ws-ico { width: 19px; height: 19px; }
body.t-corridor .ws-feature h3 { font-family: var(--sf-serif); font-weight: 400; font-size: clamp(38px, 5vw, 62px); line-height: .94; letter-spacing: -.02em; color: var(--cdr-green); margin: 0 0 12px; }
body.t-corridor .ws-feature p { color: var(--muted); font-size: 12.5px; line-height: 1.55; }

/* the year as a descending ledger of four ruled rows, never a table */
body.t-corridor .ws-list-bullet { list-style: none; padding-left: 0; border-top: 1px solid var(--cdr-line); }
body.t-corridor .ws-list-bullet li { margin: 0; padding: 26px 0 28px; border-bottom: 1px solid var(--cdr-line); font-size: 15.5px; line-height: 1.74; color: var(--text); }

/* regional coverage — a percentage over a nested list of ports and cities */
body.t-corridor #columns-2 .ws-container { max-width: 960px; }
body.t-corridor #columns-2 .ws-col p { font-size: 13.5px; line-height: 1.5; color: var(--muted); margin: 0 0 5px; }
body.t-corridor #columns-2 .ws-col-h { font-family: var(--sf-serif); font-weight: 400; font-size: clamp(34px, 4.2vw, 50px); line-height: 1; color: var(--cdr-green); margin: 0 0 14px; }
body.t-corridor #columns-2 .ws-col h3 + p { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--heading); margin: 0 0 16px; }

/* six tiles, two clean rows of three — the only wide block in the ladder */
body.t-corridor .ws-gallery .ws-container { max-width: 1040px; }
body.t-corridor .ws-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 26px; }
body.t-corridor .ws-gallery-item img { aspect-ratio: 4 / 3; border-radius: 0; filter: saturate(.7) contrast(1.04); }
body.t-corridor .ws-gallery-cap { padding: 14px 0 0; border-top: 1px solid var(--cdr-line); }
body.t-corridor .ws-gallery-cap span { color: var(--muted); font-size: 12.5px; line-height: 1.5; }

/* the ask, hoisted above the form, on the last photograph */
body.t-corridor .ws-cta { padding: 104px 0; background-color: var(--cdr-ink); background-image: linear-gradient(rgba(13, 19, 21, .86), rgba(13, 19, 21, .92)), url("/media/samples/cdr_story_papers.jpg"); background-size: cover; background-position: center; }

/* labels only — and the two office lines set as plain type BELOW the form */
body.t-corridor .ws-contact .ws-container { display: flex; flex-direction: column; }
body.t-corridor .ws-contact .ws-sub { order: 3; max-width: 520px; margin: 46px auto 0; padding-top: 26px; border-top: 1px solid var(--cdr-line); text-align: left; white-space: pre-line; color: var(--muted); font-size: 13.5px; line-height: 2.1; }
body.t-corridor .ws-field label { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.t-corridor .ws-field input, body.t-corridor .ws-field textarea, body.t-corridor .ws-field select { background: var(--cdr-field); border: 1px solid var(--cdr-line); border-radius: 0; color: var(--heading); }

@media (max-width: 760px) {
  body.t-corridor .ws-section { padding: 62px 0; }
  body.t-corridor .ws-features, body.t-corridor .ws-features .ws-container { padding: 0; }
  body.t-corridor .ws-features-grid, body.t-corridor .ws-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.t-corridor .ws-feature:nth-child(odd) { border-left: 0; }
  body.t-corridor .ws-nav-inner { gap: 0; padding-top: 14px; padding-bottom: 14px; }
  body.t-corridor .ws-nav-links { background: var(--cdr-ink); border: 0; border-radius: 0; box-shadow: none; }
  body.t-corridor .ws-nav-links a { color: #e3e1d7; font-size: 12px; letter-spacing: .12em; }
  body.t-corridor .ws-hero-inner { padding: 104px 22px 68px; }
}

/* night — the tokens carry it, so the green simply lifts off a dark ground */
html[data-theme="dark"] body.t-corridor.ws-body {
  --bg: #0f1110; --fg: #a6aaa4; --heading: #eceade; --text: #a6aaa4; --muted: #797d77;
  --cdr-green: #7ec8a0; --cdr-line: #272b28; --cdr-ink: #070908; --cdr-on: #eceade; --cdr-field: #171a18;
  --hero-a: rgba(3, 5, 4, .62); --hero-b: rgba(3, 5, 4, .82);
}
html[data-theme="dark"] body.t-corridor { background: var(--bg); }
html[data-theme="dark"] body.t-corridor .ws-video { background-image: linear-gradient(rgba(6, 10, 11, .86), rgba(6, 10, 11, .93)), url("/media/samples/cdr_video_still.jpg"); }
html[data-theme="dark"] body.t-corridor .ws-cta { background-image: linear-gradient(rgba(6, 10, 11, .89), rgba(6, 10, 11, .94)), url("/media/samples/cdr_story_papers.jpg"); }
