/* Canada landing page; every section remains editable in Gutenberg. */
.bex-ca-page { color: var(--bex-navy, #071e33); }
.bex-ca-page, .bex-ca-page * { min-width: 0; }
.bex-ca-page > .bex-section { margin-block: 0; }
.bex-ca-page p { line-height: 1.55; }
.bex-ca-page h1 { max-width: 17ch; font-size: clamp(3rem, 5.6vw, 5.8rem); line-height: 1.02; letter-spacing: -.05em; margin: .7rem 0 1.3rem; }
.bex-ca-page h2 { font-size: clamp(2.15rem, 3.7vw, 3.6rem); line-height: 1.1; letter-spacing: -.035em; }
.bex-ca-page .bex-ca-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: clamp(560px, 56vw, 700px); max-width: none; overflow: hidden; background: #071e33; color: #fff; padding: clamp(46px, 7vw, 100px) max(var(--bex-gutter), calc((100vw - var(--bex-wide)) / 2 + var(--bex-gutter))); }
.bex-ca-page .bex-ca-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(3,19,36,.9) 0%, rgba(3,19,36,.68) 38%, rgba(3,19,36,.1) 76%), linear-gradient(0deg, rgba(3,19,36,.45), transparent 65%); }
.bex-ca-page .bex-ca-hero > .bex-media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; aspect-ratio: auto; }
.bex-ca-page .bex-ca-hero-copy { max-width: 720px; margin: 0; }
.bex-ca-page .bex-ca-hero .bex-eyebrow, .bex-ca-page .bex-ca-fba .bex-eyebrow, .bex-ca-page .bex-ca-close .bex-eyebrow { color: var(--bex-yellow); }
.bex-ca-page .bex-ca-hero .bex-ca-lead { font-size: clamp(1.15rem, 1.9vw, 1.48rem); max-width: 37ch; }
.bex-ca-page .bex-ca-hero .wp-block-buttons { margin-top: 2rem; }
.bex-ca-page .bex-ca-hero .wp-element-button { min-height: 54px; }
.bex-ca-page .bex-ca-hero-modes { margin-top: 1.5rem; font-size: .8rem; font-weight: 700; letter-spacing: .13em; }
.bex-ca-page .bex-ca-promise { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding-block: clamp(24px, 3vw, 44px); border-bottom: 1px solid var(--bex-line); }
.bex-ca-page .bex-ca-promise p { margin: 0; padding: 0 clamp(18px, 2.4vw, 40px); border-right: 1px solid var(--bex-line); }
.bex-ca-page .bex-ca-promise p:first-child { padding-left: 0; }
.bex-ca-page .bex-ca-promise p:last-child { border-right: 0; }
.bex-ca-page .bex-ca-promise strong { display: block; font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.2; }
.bex-ca-page .bex-ca-promise span { display: block; margin-top: .55rem; color: var(--bex-muted, #5f6b76); font-size: .92rem; }
.bex-ca-page .bex-ca-intro { text-align: center; padding-bottom: clamp(36px, 5vw, 72px); }
.bex-ca-page .bex-ca-intro h2 { max-width: 21ch; margin-inline: auto; }
.bex-ca-page .bex-ca-lane { display: grid; grid-template-columns: 1fr 1fr; max-width: none; min-height: 600px; padding: 0; background: #f5f7f8; }
.bex-ca-page .bex-ca-lane > .bex-media { width: 100%; height: 100%; aspect-ratio: auto; }
.bex-ca-page .bex-ca-lane-copy { align-self: center; margin: 0; max-width: 740px; padding: clamp(42px, 6vw, 100px); }
.bex-ca-page .bex-ca-lane-copy h2 { max-width: 16ch; margin: .6rem 0 1.2rem; }
.bex-ca-page .bex-ca-lane-copy > p { max-width: 46ch; }
.bex-ca-page .bex-ca-lane-sea { background: #e9eef2; }
.bex-ca-page .bex-ca-lane-sea > .bex-media { grid-column: 2; grid-row: 1; }
.bex-ca-page .bex-ca-lane-sea > .bex-ca-lane-copy { grid-column: 1; grid-row: 1; }
.bex-ca-page .bex-ca-reference { margin: 2rem 0; padding: 1.2rem 0 1.1rem; border-top: 2px solid var(--bex-navy); border-bottom: 1px solid var(--bex-line); }
.bex-ca-page .bex-ca-reference p { margin: 0; }
.bex-ca-page .bex-ca-reference strong { display: block; font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1; letter-spacing: -.045em; }
.bex-ca-page .bex-ca-reference span { display: block; margin-top: .4rem; font-size: .88rem; color: var(--bex-muted, #5f6b76); }
.bex-ca-page .bex-ca-timing-note { background: #fff; text-align: center; padding-block: clamp(30px, 4vw, 52px); }
.bex-ca-page .bex-ca-timing-note p { max-width: 95ch; margin-inline: auto; font-size: .9rem; color: var(--bex-muted, #5f6b76); }
.bex-ca-page .bex-ca-final-mile { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); max-width: none; padding: 0; background: #0b2a44; color: #fff; min-height: 520px; }
.bex-ca-page .bex-ca-final-mile > .bex-media { height: 100%; aspect-ratio: auto; }
.bex-ca-page .bex-ca-final-copy { align-self: center; margin: 0; padding: clamp(40px, 5vw, 82px); }
.bex-ca-page .bex-ca-final-copy h2 { color: #fff; max-width: 17ch; }
.bex-ca-page .bex-ca-final-copy .bex-eyebrow { color: var(--bex-yellow); }
.bex-ca-page .bex-ca-final-copy > p { max-width: 42ch; }
.bex-ca-page .bex-ca-inline-options { padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.3); font-size: .73rem; letter-spacing: .07em; font-weight: 700; }
.bex-ca-page .bex-ca-fba { display: grid; grid-template-columns: 1fr 1fr; max-width: none; min-height: 500px; padding: 0; background: var(--bex-navy); color: #fff; }
.bex-ca-page .bex-ca-fba > .bex-media { grid-column: 2; grid-row: 1; height: 100%; aspect-ratio: auto; }
.bex-ca-page .bex-ca-fba-copy { grid-column: 1; grid-row: 1; align-self: center; margin: 0; padding: clamp(40px, 6vw, 100px); }
.bex-ca-page .bex-ca-fba-copy h2 { color: #fff; max-width: 17ch; }
.bex-ca-page .bex-ca-fba-copy p { max-width: 42ch; }
.bex-ca-page .bex-ca-close { max-width: none; text-align: center; background: #f5f7f8; padding-block: clamp(64px, 7vw, 110px); }
.bex-ca-page .bex-ca-close > * { margin-inline: auto; }
.bex-ca-page .bex-ca-close h2 { max-width: 19ch; }
.bex-ca-page .bex-ca-close .bex-eyebrow { color: #455f72; }
.bex-ca-page .bex-ca-close .wp-block-buttons { justify-content: center; margin-top: 2rem; }
@media (max-width: 900px) {
  .bex-ca-page .bex-ca-promise { grid-template-columns: 1fr; }
  .bex-ca-page .bex-ca-promise p { padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--bex-line); }
  .bex-ca-page .bex-ca-promise p:last-child { border-bottom: 0; }
  .bex-ca-page .bex-ca-lane, .bex-ca-page .bex-ca-final-mile, .bex-ca-page .bex-ca-fba { grid-template-columns: 1fr; }
  .bex-ca-page .bex-ca-lane > .bex-media, .bex-ca-page .bex-ca-lane-sea > .bex-media, .bex-ca-page .bex-ca-final-mile > .bex-media, .bex-ca-page .bex-ca-fba > .bex-media { grid-column: 1; grid-row: 1; aspect-ratio: 16 / 9; height: auto; }
  .bex-ca-page .bex-ca-lane-copy, .bex-ca-page .bex-ca-lane-sea > .bex-ca-lane-copy, .bex-ca-page .bex-ca-final-copy, .bex-ca-page .bex-ca-fba-copy { grid-column: 1; grid-row: 2; }
}
@media (max-width: 599px) {
  .bex-ca-page .bex-ca-hero { min-height: 600px; }
  .bex-ca-page .bex-ca-hero::before { background: linear-gradient(0deg, rgba(3,19,36,.95), rgba(3,19,36,.2) 90%); }
  .bex-ca-page .bex-ca-hero > .bex-media img { object-position: 65% 50%; }
  .bex-ca-page .bex-ca-lane > .bex-media, .bex-ca-page .bex-ca-final-mile > .bex-media, .bex-ca-page .bex-ca-fba > .bex-media { aspect-ratio: 4 / 3; }
  .bex-ca-page .bex-ca-lane-copy, .bex-ca-page .bex-ca-final-copy, .bex-ca-page .bex-ca-fba-copy { padding: 36px 24px 46px; }
  .bex-ca-page .wp-block-button, .bex-ca-page .wp-element-button { width: 100%; }
  .bex-ca-page .bex-ca-close .wp-block-buttons { width: 100%; }
}

/* Three clearly labeled sea planning windows. The page copy defines the timing node. */
.bex-ca-page .bex-ca-tiers { max-width: none; background: #0b2a44; color: #fff; padding-block: clamp(64px, 7vw, 110px); }
.bex-ca-page .bex-ca-tiers h2 { color: #fff; max-width: 21ch; margin: .65rem 0 2rem; }
.bex-ca-page .bex-ca-tiers .bex-eyebrow { color: var(--bex-yellow); }
.bex-ca-page .bex-ca-tier-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 26px); }
.bex-ca-page .bex-ca-tier { margin: 0; padding: clamp(24px, 2.6vw, 38px); border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.06); }
.bex-ca-page .bex-ca-tier h3 { color: #fff; font-size: clamp(1.35rem, 2vw, 1.8rem); margin: 0 0 .8rem; }
.bex-ca-page .bex-ca-tier strong { display: block; color: var(--bex-yellow); font-size: clamp(2rem, 3.3vw, 3rem); line-height: 1.05; letter-spacing: -.04em; }
.bex-ca-page .bex-ca-tier p { color: #e3ebf1; font-size: .93rem; margin-bottom: 0; }
.bex-ca-page .bex-ca-tier-note { max-width: 92ch; margin-top: 1.7rem; color: #d8e3ea; font-size: .84rem; }
.bex-ca-page .bex-ca-addresses { background: #e9eef2; }
.bex-ca-page .bex-ca-addresses > .wp-block-image { margin: 0; }
.bex-ca-page .bex-ca-addresses > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bex-ca-page .bex-ca-lane > .wp-block-image, .bex-ca-page .bex-ca-fba > .wp-block-image { margin: 0; width: 100%; height: 100%; }
.bex-ca-page .bex-ca-lane > .wp-block-image img, .bex-ca-page .bex-ca-fba > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bex-ca-page .bex-ca-lane-air > .wp-block-image { grid-column: 1; grid-row: 1; }
.bex-ca-page .bex-ca-fba > .wp-block-image { grid-column: 2; grid-row: 1; }
.bex-ca-page .bex-ca-final-mile > .wp-block-image { margin: 0; height: 100%; }
.bex-ca-page .bex-ca-final-mile > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 900px) {
  .bex-ca-page .bex-ca-tier-grid { grid-template-columns: 1fr; }
  .bex-ca-page .bex-ca-lane > .wp-block-image, .bex-ca-page .bex-ca-final-mile > .wp-block-image, .bex-ca-page .bex-ca-fba > .wp-block-image { grid-column: 1; grid-row: 1; aspect-ratio: 16 / 9; height: auto; }
  .bex-ca-page .bex-ca-lane > .wp-block-image img, .bex-ca-page .bex-ca-final-mile > .wp-block-image img, .bex-ca-page .bex-ca-fba > .wp-block-image img { aspect-ratio: 16 / 9; }
}
@media (max-width: 599px) {
  .bex-ca-page .bex-ca-lane > .wp-block-image, .bex-ca-page .bex-ca-final-mile > .wp-block-image, .bex-ca-page .bex-ca-fba > .wp-block-image { aspect-ratio: 4 / 3; }
  .bex-ca-page .bex-ca-lane > .wp-block-image img, .bex-ca-page .bex-ca-final-mile > .wp-block-image img, .bex-ca-page .bex-ca-fba > .wp-block-image img { aspect-ratio: 4 / 3; }
}

/* The final-mile section reads as a compact editorial panel when its photo is omitted. */
.bex-ca-page .bex-ca-final-mile.bex-photo-free { display: block; min-height: 0; padding: clamp(56px, 7vw, 96px) max(var(--bex-gutter), calc((100vw - var(--bex-wide)) / 2 + var(--bex-gutter))); }
.bex-ca-page .bex-ca-final-mile.bex-photo-free .bex-ca-final-copy { max-width: 760px; margin: 0; padding: 0; }
