/*
 * Homepage (ported from the Next.js site / amwaj-tour-home.html). The sections are Divi sections; the classes below
 * are set in Divi (Advanced > CSS Class). --p is each .amwaj-act section's 0–1 scroll progress (assets/js/home.js).
 */
body.home #main-content { padding-top: 0; }
.home .et_pb_section { padding: 0; }

/* 1. Hero: full-bleed photo (the row's background image), rounded bottom that straightens on scroll. */
.amwaj-hero.et_pb_section { position: relative; padding-bottom: clamp(40px, 6vw, 72px) !important; }
.amwaj-hero .amwaj-hero-media.et_pb_row { position: relative; width: 100% !important; max-width: none !important; height: 62vh; height: 62svh; max-height: 640px; min-height: 480px; padding: 0 !important; overflow: visible; z-index: 5; --rad: clamp(80px, 14vw, 200px); border-radius: 0 0 calc(var(--rad) * (1 - var(--p, 0))) calc(var(--rad) * (1 - var(--p, 0))); background-color: #111; background-size: cover !important; background-position: 50% calc(45% + var(--p, 0) * 12%) !important; animation: amwaj-media-in 1.4s var(--ease-out) backwards; }
.amwaj-hero .amwaj-hero-media::after { content: ""; position: absolute; inset: 45% 0 0; border-radius: inherit; background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .45)); z-index: 1; pointer-events: none; }
.amwaj-hero .amwaj-hero-media > .et_pb_column { position: static; }
.amwaj-hero .hero-search { position: absolute !important; z-index: 3; left: 0; right: 0; bottom: clamp(20px, 3vw, 36px); max-width: 1100px; margin: 0 auto !important; padding-inline: var(--gutter); animation: amwaj-rise .9s .5s var(--ease-out) backwards; }
/* The photo doesn't clip its content (its rounded corners come from the background), so the traveler popover
   opens downward, fully visible below the bar instead of under the header. */
.amwaj-hero .hero-search .amwaj.search .spop { z-index: 30; }
.amwaj-hero .amwaj-hero-titles.et_pb_row { padding-top: clamp(20px, 3vw, 36px) !important; align-items: flex-start; column-gap: 48px; }
.amwaj-hero .amwaj-hero-titles h1 { font-size: clamp(34px, 4.2vw, 56px) !important; line-height: 1.05 !important; }
.amwaj-hero .amwaj-hero-titles p { max-width: 36ch; padding-top: 8px; }
.amwaj-scrollcue a { display: flex; flex-direction: column; align-items: center; gap: 14px; text-decoration: none; color: var(--head) !important; font-size: 12px; font-weight: 600; letter-spacing: .14em; }
.amwaj-scrollcue a span { writing-mode: vertical-rl; transform: rotate(180deg); }
.amwaj-scrollcue a svg { animation: amwaj-nudge 1.8s var(--ease-inout) infinite; }
@keyframes amwaj-media-in { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
@keyframes amwaj-nudge { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
@keyframes amwaj-rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }

/* 2. Black statement + pinned scroll collage. */
.amwaj-collage.et_pb_section { background: #000 !important; color: #fff; }
.amwaj-collage .amwaj-statement { padding-block: clamp(72px, 10vw, 140px) clamp(24px, 4vw, 48px); }
.amwaj-collage .amwaj-statement h2 { color: #fff !important; text-align: center; font-size: clamp(28px, 3.6vw, 48px) !important; line-height: 1.15 !important; letter-spacing: -.025em; max-width: 24ch; margin: 0 auto; }
.amwaj-collage .amwaj-statement h2 em { font-style: normal; color: var(--gold); }
.amwaj .nile { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 30%; z-index: -1; opacity: .5; }
.amwaj-collage-pin .pinbox { position: relative; height: 320vh; }
.amwaj-collage-pin .stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; z-index: 2; --w0: min(46vw, 480px); --h0: min(78vh, 720px); --gap: 32px; --cw: calc(var(--w0) + (100vw - var(--w0)) * var(--p, 0)); --ch: calc(var(--h0) + (100vh - var(--h0)) * var(--p, 0)); }
.amwaj-collage-pin .nile { opacity: .3; transform: translateX(calc(var(--p, 0) * -60px)); z-index: 0; }
.amwaj-collage-pin .cstage { position: absolute; inset: 0; }
.amwaj .ccard { position: absolute; overflow: hidden; background: #111; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); margin: 0; }
.amwaj .ccard img { width: 100%; height: 100%; object-fit: cover; display: block; }
.amwaj .ccard.center { left: 50%; top: 50%; width: var(--cw); height: var(--ch); transform: translate(-50%, -50%); border-radius: calc(var(--r-tile) * (1 - var(--p, 0))); z-index: 3; }
.amwaj .ccard.center figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(22px, 3vw, 40px); background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .75)); font-size: 15px; color: #fff; }
.amwaj .ccard.center figcaption b { display: block; font-size: clamp(22px, 2.6vw, 34px); font-weight: 600; letter-spacing: -.02em; }
.amwaj .ccard.s { width: min(22vw, 230px); aspect-ratio: 4/3; border-radius: var(--r-tile); opacity: calc(1 - var(--p, 0) * 1.6); transform: scale(calc(1 - var(--p, 0) * .8)); }
.amwaj .ccard.s span { position: absolute; left: 14px; bottom: 12px; font-size: 13px; font-weight: 500; color: #fff; text-shadow: 0 1px 8px rgba(0, 0, 0, .6); }
.amwaj .ccard.l1, .amwaj .ccard.l2, .amwaj .ccard.l3 { right: calc(50vw + var(--cw) / 2 + var(--gap)); transform-origin: right center; }
.amwaj .ccard.r1, .amwaj .ccard.r2, .amwaj .ccard.r3 { left: calc(50vw + var(--cw) / 2 + var(--gap)); transform-origin: left center; }
.amwaj .ccard.l1 { top: 9%; width: min(20vw, 220px); }
.amwaj .ccard.l2 { top: 39%; width: min(23vw, 250px); }
.amwaj .ccard.l3 { top: 71%; width: min(18vw, 200px); }
.amwaj .ccard.r1 { top: 6%; width: min(18vw, 200px); }
.amwaj .ccard.r2 { top: 35%; width: min(23vw, 250px); }
.amwaj .ccard.r3 { top: 68%; width: min(20vw, 220px); }

/* 3. Categories. */
.amwaj .catgrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; position: relative; z-index: 2; }
.amwaj .cat { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-tile); overflow: hidden; text-decoration: none; color: var(--head); display: flex; flex-direction: column; transition: transform .35s var(--ease-out); }
.amwaj .cat:hover { transform: translateY(-4px); }
.amwaj .cat .img { position: relative; aspect-ratio: 4/3; background: #222; overflow: hidden; }
.amwaj .cat .img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.amwaj .cat b { padding: 14px 16px 4px; font-size: 16px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }
.amwaj .cat small { padding: 0 16px 16px; color: var(--muted); font-size: 13px; line-height: 1.5; }

/* 4. Booking panel: a Divi row with the class amwaj-book-panel. The sun circles sit on a clipped layer. */
.amwaj-book-panel.et_pb_row { background: var(--surface); border-radius: 32px; padding: clamp(24px, 4vw, 56px) !important; align-items: center; column-gap: clamp(24px, 4vw, 64px); position: relative; z-index: 3; isolation: isolate; }
.amwaj-book-panel::before, .amwaj-book-panel::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; z-index: -1; }
.amwaj-book-panel { --clip: inset(0 round 32px); }
.amwaj-book-panel::before { right: -120px; bottom: -220px; width: 420px; aspect-ratio: 1; background: var(--gold); opacity: .9; clip-path: inset(0 120px 220px 0); }
.amwaj-book-panel::after { right: -60px; bottom: -280px; width: 560px; aspect-ratio: 1; border: 1px solid var(--gold); opacity: .6; clip-path: inset(0 60px 280px 0); }
.amwaj-mark { display: grid; grid-template-columns: 28px 1fr; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.6; align-items: start; }
.amwaj-mark:first-child { border-top: 1px solid var(--line); margin-top: 24px; }
.amwaj-mark svg { color: var(--accent-text); margin-top: 2px; }
.amwaj-mark b { color: var(--head); font-weight: 600; }

/* 5. Explore slider: centre-active, infinite, drag. */
.amwaj-explore-head h2 { display: grid; gap: 4px; line-height: 1.1 !important; }
.amwaj-explore-head h2 .l1 { font-weight: 300; font-size: clamp(26px, 3vw, 36px); letter-spacing: .22em; }
.amwaj-explore-head h2 .l2 { font-weight: 600; font-size: clamp(20px, 2.4vw, 28px); letter-spacing: .16em; color: var(--head); }
.amwaj-explore { position: relative; overflow: hidden; --sw: 304px; --aw: 400px; --ph: 384px; --aph: 448px; --dur: .55s; }
.amwaj-explore .gcar { position: relative; z-index: 2; margin-top: -28px; padding-bottom: 72px; user-select: none; touch-action: pan-y; }
.amwaj-explore .m-sw, .amwaj-explore .m-aw { position: absolute; visibility: hidden; height: 0; }
.amwaj-explore .m-sw { width: var(--sw); } .amwaj-explore .m-aw { width: var(--aw); }
.amwaj-explore .gtrack { display: flex; align-items: flex-start; will-change: transform; cursor: grab; height: calc(var(--aph) + 300px); }
.amwaj-explore .gtrack.drag { cursor: grabbing; }
.amwaj-explore .gtrack.anim { transition: transform var(--dur) var(--ease-inout); }
.amwaj-explore .gs { flex: 0 0 var(--sw); width: var(--sw); padding: 0 8px; text-decoration: none; color: var(--text); transition: flex-basis var(--dur) var(--ease-inout), width var(--dur) var(--ease-inout), padding var(--dur) var(--ease-inout), margin var(--dur) var(--ease-inout); margin-top: 32px; }
.amwaj-explore .gs.active { flex-basis: var(--aw); width: var(--aw); padding: 0; margin-top: 0; }
.amwaj-explore .gs .card { background: var(--card); box-shadow: 0 18px 50px rgba(0, 0, 0, .18); overflow: hidden; }
.amwaj-explore .gs .ph { position: relative; height: var(--ph); overflow: hidden; background: #222; transition: height var(--dur) var(--ease-inout); }
.amwaj-explore .gs.active .ph { height: var(--aph); }
.amwaj-explore .gs .ph .mirror { position: absolute; inset: 0; background-size: 400% auto; background-position: center; filter: brightness(.7); transform: scale(-1, -1) scale(.95); }
.amwaj-explore .gs .ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform var(--dur) var(--ease-inout); }
.amwaj-explore .gs.active .ph img { transform: scale(.85); }
.amwaj-explore .gs .cc { position: absolute; left: calc(7.5% + 12px); top: calc(7.5% + 12px); height: 28px; display: inline-flex; align-items: center; padding: 0 10px; border-radius: 999px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 14px; opacity: 0; transition: opacity .3s .4s; }
.amwaj-explore .gs.active .cc { opacity: 1; }
.amwaj-explore .gs .cc i { font-style: normal; font-size: 11px; max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .4s, padding .4s; }
.amwaj-explore .gs .cc:hover i { max-width: 120px; padding-left: 6px; }
.amwaj-explore .gs .fold { max-height: 0; overflow: hidden; transition: max-height var(--dur) linear; }
.amwaj-explore .gs.active .fold { max-height: 340px; }
.amwaj-explore .gs .txt { padding: 16px 32px 32px; opacity: 0; transition: opacity .4s; }
.amwaj-explore .gs.active .txt { opacity: 1; transition-delay: .25s; }
.amwaj-explore .gs h3 { font-size: 22px; font-weight: 600; letter-spacing: -.01em; color: var(--accent-text); margin: 0 0 8px; padding: 0; line-height: 1.25; }
.amwaj-explore .gs p { font-size: 14px; line-height: 1.55; color: var(--text); margin: 0 0 12px; padding: 0; }
.amwaj-explore .gs .price { display: block; font-size: 14px; font-weight: 600; color: var(--head); margin-bottom: 14px; }
.amwaj-explore .gs .more { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--head); }
.amwaj-explore .gs .more svg { width: 36px; transition: width .3s var(--ease-out); }
.amwaj-explore .gs:hover .more svg { width: 52px; }
.amwaj-explore .gbtn { position: absolute; bottom: 0; width: 48px; height: 48px; padding: 0; border-radius: 50%; border: 1px solid var(--accent-text); background: var(--gold-100); color: #000; cursor: pointer; display: grid; place-items: center; transition: background-color .25s; z-index: 3; }
.amwaj-explore .gbtn:hover { background: var(--card); color: var(--head); }
.amwaj-explore .gbtn.prev { left: calc(50% - var(--aw) / 2 - 40px - 48px); }
.amwaj-explore .gbtn.next { left: calc(50% + var(--aw) / 2 + 40px); }
:root[data-theme="dark"] .amwaj-explore .gbtn { background: #2a2412; color: #fff; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .amwaj-explore .gbtn { background: #2a2412; color: #fff; } }
@media (min-width: 601px) and (max-width: 1024px) {
  .amwaj-explore { --aw: 62vw; --sw: calc(62vw * .3); --ph: 40vw; --aph: 46vw; }
  .amwaj-explore .gcar { margin-top: 16px; }
  .amwaj-explore .gbtn.prev { left: calc(50% - var(--aw) / 2 - 16px - 48px); }
  .amwaj-explore .gbtn.next { left: calc(50% + var(--aw) / 2 + 16px); }
}

/* 6. Breathtaking sight (full-bleed). */
.amwaj.sight { position: relative; min-height: min(86vh, 760px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: #111; }
.amwaj.sight > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transform: translateY(calc((var(--p, 0) - .5) * -80px)) scale(1.1); z-index: 1; }
.amwaj.sight .scrim { position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .72) 100%), linear-gradient(90deg, rgba(0, 0, 0, .5), transparent 60%); }
.amwaj.sight .swrap { position: relative; z-index: 3; max-width: 1280px; margin: 0 auto; padding: 56px var(--gutter); width: 100%; display: grid; grid-template-columns: 1.1fr 1fr; gap: 32px; align-items: end; }
.amwaj.sight h2 { color: #fff; font-size: clamp(34px, 5vw, 68px); line-height: .98; letter-spacing: -.04em; padding: 0; }
.amwaj.sight p { color: rgba(255, 255, 255, .85); font-size: 17px; margin-top: 16px; padding: 0; max-width: 62ch; }
.amwaj .glasscard { background: rgba(0, 0, 0, .35); backdrop-filter: blur(32px) saturate(140%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2); border-radius: var(--r-tile); padding: 22px 24px; display: grid; gap: 12px; justify-self: end; max-width: 420px; text-decoration: none; color: #fff; }
.amwaj .glasscard .kicker { font-size: 13px; color: #a3adb5; }
.amwaj .glasscard .name { font-size: 20px; line-height: 1.25; font-weight: 600; }
.amwaj .glasscard .price small, .amwaj .glasscard .price span { color: #a3adb5; font-size: 13px; }
.amwaj .glasscard .price b { font-size: 28px; color: #fff; font-variant-numeric: tabular-nums; }
.amwaj .glasscard .btn { justify-self: start; }

/* 7. Guide: the page's one triangle-cropped photo. */
.amwaj .tri { position: relative; aspect-ratio: 1/.92; width: 100%; }
.amwaj .tri .cut { position: absolute; inset: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); overflow: hidden; background: #222; }
.amwaj .tri .cut img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transform: translateY(calc((var(--p, 0) - .5) * -40px)) scale(1.12); }
.amwaj .tri .inner { position: absolute; left: 34%; right: 34%; bottom: 0; height: 32%; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: var(--bg); }
.amwaj-review { margin: 28px 0 0; border-left: 2px solid var(--gold); padding-left: 20px; }
.amwaj-review q { font-size: 18px; line-height: 1.45; color: var(--head); }
.amwaj-review .who { font-size: 13px; color: var(--muted); margin-top: 8px; }

/* 8. Transfers: a dark Divi row with the class amwaj-transfers-panel. */
.amwaj-transfers-panel.et_pb_row { background: var(--head); color: var(--bg); border-radius: 32px; padding: clamp(24px, 4vw, 56px) !important; column-gap: clamp(24px, 4vw, 64px); align-items: flex-start; position: relative; overflow: hidden; isolation: isolate; }
.amwaj-transfers-panel::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 45%; opacity: .35; z-index: -1; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23e5be77' stroke-width='1'%3E%3Cpath d='M0 30 Q75 18 150 30 T300 30 T450 30 T600 30 T750 30 T900 30 T1050 30 T1200 30' opacity='.55'/%3E%3Cpath d='M0 70 Q75 58 150 70 T300 70 T450 70 T600 70 T750 70 T900 70 T1050 70 T1200 70' opacity='.4'/%3E%3Cpath d='M0 110 Q75 98 150 110 T300 110 T450 110 T600 110 T750 110 T900 110 T1050 110 T1200 110' opacity='.28'/%3E%3Cpath d='M0 150 Q75 138 150 150 T300 150 T450 150 T600 150 T750 150 T900 150 T1050 150 T1200 150' opacity='.16'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.amwaj-transfers-panel h2 { color: var(--bg) !important; }
.amwaj-transfers-panel .et_pb_text, .amwaj-transfers-panel .amwaj_module { color: var(--bg); }
.amwaj-transfers-panel .et_pb_text p { opacity: .78; }
.amwaj.routes { display: grid; border-top: 1px solid rgba(128, 128, 128, .35); }
.amwaj.routes a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(128, 128, 128, .35); text-decoration: none; color: var(--bg); font-weight: 500; font-size: 15px; opacity: 0; transform: translateX(24px); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out), color .2s; }
.amwaj.routes.in a { opacity: 1; transform: none; }
.amwaj.routes a:nth-child(2) { transition-delay: .08s; } .amwaj.routes a:nth-child(3) { transition-delay: .16s; } .amwaj.routes a:nth-child(4) { transition-delay: .24s; } .amwaj.routes a:nth-child(5) { transition-delay: .32s; }
.amwaj.routes a small { opacity: .7; font-weight: 400; font-size: 13px; white-space: nowrap; }
.amwaj.routes a:hover { color: var(--gold); }

/* 9. Sunset close. */
.amwaj.close { position: relative; height: 200vh; background: #000; color: #fff; }
.amwaj.close .bg { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; isolation: isolate; }
.amwaj.close .sky { position: absolute; inset: 0; z-index: -5; background: linear-gradient(180deg, #000 0%, #0a0a0a 55%, #1b1b1b 100%); }
.amwaj.close .dusksky { position: absolute; inset: 0; z-index: -4; background: linear-gradient(180deg, #0d0d0d 0%, #2a2016 45%, #7a5327 66%, #c9924a 76%, #0a0a0a 76.2%); opacity: calc(1 - var(--p, 0)); }
.amwaj.close .horizon { position: absolute; left: 0; right: 0; top: 0; height: 76%; z-index: -2; overflow: hidden; }
.amwaj.close .sun2 { position: absolute; left: 70%; bottom: 0; width: min(40vw, 440px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #f2d49b 0%, #e5be77 55%, #c9924a 100%); transform: translate(-50%, calc(50% + var(--p, 0) * 55%)); }
.amwaj.close .stars { position: absolute; inset: 0; z-index: -3; opacity: var(--p, 0); background-image: radial-gradient(2px 2px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 28% 8%, #fff 50%, transparent 51%), radial-gradient(2.5px 2.5px at 44% 22%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 61% 12%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 74% 30%, #fff 50%, transparent 51%), radial-gradient(2.5px 2.5px at 88% 16%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 52% 40%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 20% 44%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 82% 48%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 36% 58%, #fff 50%, transparent 51%); }
.amwaj.close .nile { opacity: .4; transform: translateX(calc(var(--p, 0) * -40px)); }
.amwaj.close .stage { position: sticky; top: 0; height: 100vh; height: 100svh; margin-top: -100vh; margin-top: -100svh; z-index: 2; display: flex; flex-direction: column; justify-content: center; }
.amwaj.close .swrap { display: grid; grid-template-columns: 1.25fr 1fr; gap: 48px; align-items: center; width: 100%; max-width: 1280px; margin: 0 auto; padding-inline: var(--gutter); }
.amwaj.close h2 { color: #fff; font-size: clamp(34px, 5vw, 68px); letter-spacing: -.035em; line-height: 1; padding: 0; }
.amwaj.close .stage p { color: rgba(255, 255, 255, .78); margin-top: 16px; font-size: 17px; padding: 0; }
.amwaj.close .row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.amwaj .contact { display: grid; gap: 12px; }
.amwaj .contact .c { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: rgba(255, 255, 255, .08); backdrop-filter: blur(32px) saturate(140%); border-radius: 16px; padding: 14px 18px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); }
.amwaj .contact .c small { display: block; font-size: 12px; color: #a3adb5; }
.amwaj .contact .c b { font-weight: 500; color: #fff; font-size: 15px; font-variant-numeric: tabular-nums; user-select: all; }
.amwaj .copy { height: 36px; padding: 0 14px; border-radius: var(--r-pill); border: 1px solid rgba(255, 255, 255, .3); background: transparent; color: #fff; font: 500 13px var(--font-sans); cursor: pointer; flex: none; }
.amwaj .copy:hover { border-color: #fff; }
.amwaj-toast { position: fixed; left: 50%; bottom: calc(env(safe-area-inset-bottom, 0px) + 84px); transform: translate(-50%, 20px); opacity: 0; pointer-events: none; background: #000; color: #fff; border-radius: 16px; padding: 14px 18px; font-size: 14px; box-shadow: var(--float); transition: .3s var(--ease-out); z-index: 9995; }
.amwaj-toast.on { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 980px) {
  .amwaj-hero .amwaj-hero-media.et_pb_row { height: 50svh; min-height: 300px; --rad: clamp(48px, 14vw, 90px); }
  .amwaj-hero .hero-search { display: none; }
  .amwaj-collage-pin .pinbox { height: 220vh; }
  .amwaj-collage-pin .stage { --w0: 58vw; --h0: 64vh; --gap: 14px; }
  .amwaj .ccard.l1, .amwaj .ccard.l2, .amwaj .ccard.l3, .amwaj .ccard.r1, .amwaj .ccard.r2, .amwaj .ccard.r3 { width: 30vw; }
  .amwaj .ccard.l1 { top: 12%; } .amwaj .ccard.l2 { top: 42%; } .amwaj .ccard.l3 { top: 70%; } .amwaj .ccard.r1 { top: 8%; } .amwaj .ccard.r2 { top: 38%; } .amwaj .ccard.r3 { top: 66%; }
  .amwaj .catgrid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .amwaj .catgrid .cat:last-child:nth-child(odd) { grid-column: span 2; }
  .amwaj-book-panel::before, .amwaj-book-panel::after { display: none; }
  .amwaj.sight .swrap, .amwaj.close .swrap { grid-template-columns: 1fr; }
  .amwaj .glasscard { justify-self: start; }
  .amwaj .tri { max-width: 420px; }
  .amwaj.close { height: 170vh; }
  .amwaj.close .sun2 { left: 72%; width: 60vw; }
  .amwaj.close .stage { justify-content: flex-start; padding-top: calc(env(safe-area-inset-top, 0px) + 96px); }
}
@media (max-width: 767px) {
  .amwaj-explore { --sw: 64vw; --aw: 84vw; --ph: 52vw; --aph: 60vw; }
  .amwaj-explore .gbtn.prev { left: calc(50% - 60px); } .amwaj-explore .gbtn.next { left: calc(50% + 12px); }
  .amwaj-explore .gs .txt { padding: 14px 20px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .amwaj.close { height: auto; }
  .amwaj-collage-pin .pinbox { height: 100svh; }
  .amwaj-collage-pin .stage, .amwaj.close .stage { position: relative; height: auto; min-height: 100svh; margin-top: 0; }
  .amwaj.close .bg { position: absolute; inset: 0; height: auto; }
  .amwaj-hero .amwaj-hero-media.et_pb_row { animation: none; }
  .amwaj-act { --p: 1 !important; }
  .amwaj.routes a { opacity: 1; transform: none; }
}
/* The glass button reads as a hairline pill on the transfers panel, which flips colour with the theme. */
.amwaj-transfers-panel .et_pb_button.amwaj-btn-on-panel { color: var(--bg) !important; background-color: transparent !important; border-color: color-mix(in srgb, var(--bg) 45%, transparent) !important; }
.amwaj-transfers-panel .et_pb_button.amwaj-btn-on-panel:hover { background-color: var(--bg) !important; color: var(--head) !important; }
/* Phones: title and scroll cue share the first line, the intro goes full width below (as on the Next.js site). */
@media (max-width: 767px) {
  .amwaj-hero .amwaj-hero-titles.et_pb_row { flex-wrap: wrap !important; row-gap: 12px; column-gap: 20px; }
  .amwaj-hero .amwaj-hero-titles > .et_pb_column { margin: 0 !important; }
  .amwaj-hero .amwaj-hero-titles > .et_pb_column:nth-child(1) { flex: 1 1 0 !important; width: auto !important; }
  .amwaj-hero .amwaj-hero-titles > .et_pb_column:nth-child(3) { flex: 0 0 auto !important; width: auto !important; order: 2; }
  .amwaj-hero .amwaj-hero-titles > .et_pb_column:nth-child(2) { flex: 1 0 100% !important; order: 3; }
  .amwaj-hero .amwaj-hero-titles p { padding-top: 0; }
}
/* Entrance animations release their final state ("backwards", not "both"): a held opacity/transform animation
   would stop the search dropdowns from blurring what is behind them. */

/*
 * Hero background video (set in Divi on the hero photo row). The row itself can't clip (the search dropdowns open
 * below it), so the video layer clips itself to the row's curved bottom and drifts slowly on scroll like the photo.
 */
.amwaj-hero .amwaj-hero-media .et-pb-background-video,
.amwaj-hero .amwaj-hero-media .et_pb_section_video_bg { position: absolute !important; inset: 0 !important; width: auto !important; height: auto !important; border-radius: inherit; overflow: hidden; z-index: 0; pointer-events: none; }
.amwaj-hero .amwaj-hero-media .et-pb-background-video video,
.amwaj-hero .amwaj-hero-media .et_pb_section_video_bg video { position: absolute !important; left: 0 !important; top: -12% !important; width: 100% !important; height: 124% !important; max-width: none; margin: 0 !important; object-fit: cover; object-position: 50% 45%; transform: translateY(calc(var(--p, 0) * 12%)); will-change: transform; }
.amwaj-hero .amwaj-hero-media > .et_pb_column { position: static; z-index: 2; }
.amwaj-hero .amwaj-hero-media .hero-search { z-index: 3; }

/* Hero a little taller (was 62% of the screen, max 640px). */
.amwaj-hero .amwaj-hero-media.et_pb_row { height: 70vh; height: 70svh; max-height: 720px; min-height: 520px; }
/* The video fills the frame exactly (Divi's player was taller than the frame, cropping a lot), with a gentle drift. */
.amwaj-hero .amwaj-hero-media .mejs-container,
.amwaj-hero .amwaj-hero-media .mejs-inner,
.amwaj-hero .amwaj-hero-media .mejs-mediaelement,
.amwaj-hero .amwaj-hero-media mediaelementwrapper { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-width: 0 !important; margin: 0 !important; background: transparent !important; }
.amwaj-hero .amwaj-hero-media .et-pb-background-video video { top: -4% !important; height: 108% !important; transform: translateY(calc(var(--p, 0) * 4%)); object-position: 50% 50%; }
@media (max-width: 980px) { .amwaj-hero .amwaj-hero-media.et_pb_row { height: 56svh; min-height: 340px; } }

/* Collage cards are links to their destination. */
.amwaj a.ccard { display: block; color: #fff; text-decoration: none; }
.amwaj .ccard img { transition: transform .8s var(--ease-out); }
.amwaj a.ccard:hover img { transform: scale(1.05); }
.amwaj a.ccard.s span { transition: transform .4s var(--ease-out); }
.amwaj a.ccard.s:hover span { transform: translateY(-3px); }
.amwaj .ccard.center .cap { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(22px, 3vw, 40px); background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .75)); font-size: 15px; color: #fff; }
.amwaj .ccard.center .cap b { display: block; font-size: clamp(22px, 2.6vw, 34px); font-weight: 600; letter-spacing: -.02em; }
/* Side cards fade out as the centre grows; don't let invisible cards catch clicks. */
.amwaj-act.is-late .amwaj-collage-pin .ccard.s { pointer-events: none; }

/*
 * Collage on phones and tablets: a deck of destination cards. Each card sticks just under the header while the next
 * one slides up over it; the covered card eases back (smaller, dimmer) — like photos being dealt. Desktop keeps the
 * pinned collage.
 */
.amwaj-collage-pin .cdeck { display: none; }
@media (max-width: 980px) {
  .amwaj-collage-pin .pinbox { display: none; }
  .amwaj-collage-pin .cdeck { display: block; padding: 8px var(--gutter) calc(var(--section) * .6); }
  .amwaj .dcard { --d: 0; position: sticky; top: calc(env(safe-area-inset-top, 0px) + 88px + var(--i) * 10px); display: block; height: min(64svh, 560px); min-height: 380px; margin-bottom: 18px; border-radius: 26px; overflow: hidden; color: #fff; text-decoration: none; background: #111; isolation: isolate; box-shadow: 0 -18px 40px rgba(0, 0, 0, .45); transform-origin: 50% 0; transform: scale(calc(1 - var(--d) * .08)); filter: brightness(calc(1 - var(--d) * .45)); will-change: transform, filter; }
  .amwaj .dcard:last-child { margin-bottom: 0; }
  .amwaj .dcard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.08 - var(--d) * .08)); transition: transform .9s var(--ease-out); }
  .amwaj .dcard::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, transparent 35%, rgba(0, 0, 0, .78) 100%); }
  .amwaj .dcap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: grid; gap: 6px; padding: 22px 22px 22px; }
  .amwaj .dcap small { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
  .amwaj .dcap b { font-size: clamp(34px, 9vw, 56px); line-height: 1; font-weight: 600; letter-spacing: -.035em; }
  .amwaj .dcap .dtxt { font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .82); max-width: 42ch; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .amwaj .dcap .dgo { justify-self: start; display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; height: 40px; padding: 0 16px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #fff; background: rgba(255, 255, 255, .16); backdrop-filter: blur(20px) saturate(160%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
  .amwaj .dcard:active .dgo { background: var(--gold); color: #000; }
}
@media (min-width: 600px) and (max-width: 980px) {
  .amwaj .dcard { height: min(58svh, 620px); }
  .amwaj .dcap { padding: 32px; }
}
@media (prefers-reduced-motion: reduce) { .amwaj .dcard { position: relative; top: auto; transform: none; filter: none; } }

/*
 * Explore slider arrows on big screens: beside the centre card at its mid-height (the script keeps --btn-y on the
 * card's middle as it grows). Phones and tablets keep the arrows under the card.
 */
@media (min-width: 981px) {
  .amwaj-explore .gcar { padding-bottom: 24px; }
  .amwaj-explore .gbtn { top: var(--btn-y, 50%); bottom: auto; transform: translateY(-50%); transition: background-color .25s, top .55s var(--ease-inout); }
  .amwaj-explore .gbtn.prev { left: calc(50% - var(--aw) / 2 - 24px - 48px); }
  .amwaj-explore .gbtn.next { left: calc(50% + var(--aw) / 2 + 24px); }
}

/*
 * Explore slider: the photo behind each trip photo (the mirrored copy) is frosted glass — heavily blurred, a light
 * tint and a bright hairline edge. The trip photo in front is untouched.
 */
.amwaj-explore .gs .ph .mirror { inset: -40px; background-size: cover; transform: scale(-1, -1); filter: blur(28px) saturate(150%) brightness(.85); }
.amwaj-explore .gs .ph::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .04)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 0 0 1px rgba(255, 255, 255, .12); }
.amwaj-explore .gs .ph img { z-index: 1; }
.amwaj-explore .gs .ph .cc { z-index: 2; }

/*
 * "Pick your kind of day" — living panel gallery. One panel is open (flex grows), the rest are slim photo strips
 * with vertical names. It cycles by itself (gold progress line), opens on hover/focus. Phones: a tap-to-open accordion.
 */
.amwaj .catfan { --dur: 5s; display: flex; gap: 12px; height: clamp(440px, 58vh, 560px); }
.amwaj .cf { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: var(--r-tile); color: #fff; text-decoration: none; background: #111; isolation: isolate; transition: flex-grow .8s var(--ease-inout), box-shadow .4s; }
.amwaj .cf.is-active { flex-grow: 5; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .45); }
.amwaj .cf img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform 1.2s var(--ease-out), filter .8s; filter: saturate(.85) brightness(.8); }
.amwaj .cf.is-active img { filter: none; animation: amwaj-cf-drift var(--dur) linear both; }
@keyframes amwaj-cf-drift { from { transform: scale(1.12) translateX(0); } to { transform: scale(1.2) translateX(-2%); } }
.amwaj .cf-shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, transparent 30%, transparent 45%, rgba(0, 0, 0, .78) 100%); }
.amwaj .cf-num { position: absolute; top: 18px; left: 18px; z-index: 2; font: 500 12px var(--font-sans); letter-spacing: .14em; color: rgba(255, 255, 255, .8); }
.amwaj .cf.is-active .cf-num { color: var(--gold); }
/* Collapsed: the name runs up the strip. */
.amwaj .cf-v { position: absolute; left: 50%; bottom: 22px; z-index: 2; writing-mode: vertical-rl; transform: translateX(-50%) rotate(180deg); white-space: nowrap; font: 600 17px var(--font-sans); letter-spacing: .02em; transition: opacity .35s .3s; }
.amwaj .cf.is-active .cf-v { opacity: 0; transition-delay: 0s; }
/* Open: the story. */
.amwaj .cf-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: grid; gap: 8px; padding: clamp(22px, 2.6vw, 36px); min-width: 320px; opacity: 0; transform: translateY(18px); transition: opacity .3s, transform .3s; pointer-events: none; }
.amwaj .cf.is-active .cf-body { opacity: 1; transform: none; transition: opacity .6s .35s, transform .7s .35s var(--ease-out); pointer-events: auto; }
.amwaj .cf-body small { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.amwaj .cf-body b { font-size: clamp(30px, 3.4vw, 48px); line-height: 1; font-weight: 600; letter-spacing: -.03em; }
.amwaj .cf-txt { font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .85); max-width: 40ch; }
.amwaj .cf-go { justify-self: start; display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; height: 42px; padding: 0 18px; border-radius: 999px; font-size: 14px; font-weight: 600; background: rgba(255, 255, 255, .16); backdrop-filter: blur(20px) saturate(160%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); transition: background-color .25s, color .25s; }
.amwaj .cf:hover .cf-go { background: var(--gold); color: #000; }
/* Gold progress line while a panel is on show. */
.amwaj .cf-bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; height: 3px; background: rgba(255, 255, 255, .15); opacity: 0; }
.amwaj .cf.is-active .cf-bar { opacity: 1; }
.amwaj .cf-bar i { display: block; height: 100%; width: 100%; background: var(--gold); transform-origin: left; transform: scaleX(0); }
.amwaj .catfan.is-playing .cf.is-active .cf-bar i { animation: amwaj-cf-bar var(--dur) linear both; }
@keyframes amwaj-cf-bar { to { transform: scaleX(1); } }

@media (max-width: 980px) {
  .amwaj .catfan { height: 440px; gap: 8px; }
  .amwaj .cf.is-active { flex-grow: 4; }
  .amwaj .cf-v { font-size: 15px; }
}
/* Phones: stacked strips; tap opens one (a second tap goes to its tours). */
@media (max-width: 767px) {
  .amwaj .catfan { flex-direction: column; height: auto; gap: 8px; }
  .amwaj .cf { flex: none; height: 76px; transition: height .7s var(--ease-inout); }
  .amwaj .cf.is-active { height: 400px; }
  .amwaj .cf-v { writing-mode: horizontal-tb; transform: translateY(50%); left: 52px; bottom: 50%; font-size: 18px; }
  .amwaj .cf-num { top: 50%; transform: translateY(-50%); }
  .amwaj .cf.is-active .cf-num { top: 18px; transform: none; }
  .amwaj .cf-body { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { .amwaj .cf.is-active img { animation: none; } }

/* Test: the emblem as the sun's light source (footer sunset, emblem="yes"). A warm cream emblem glows and soft rays
   turn slowly out of it; everything sinks with the sun. */
.amwaj.close .sun2 { display: grid; justify-items: center; }
.amwaj.close .sun-mark { position: relative; width: 34%; margin-top: 8%; aspect-ratio: 1; display: grid; place-items: center; }
.amwaj.close .sun-rays { position: absolute; inset: -95%; border-radius: 50%; pointer-events: none;
  background: repeating-conic-gradient(from 0deg, rgba(255, 246, 226, .55) 0deg 3deg, rgba(255, 246, 226, 0) 3deg 15deg);
  -webkit-mask: radial-gradient(circle, #000 18%, rgba(0, 0, 0, .35) 40%, transparent 68%); mask: radial-gradient(circle, #000 18%, rgba(0, 0, 0, .35) 40%, transparent 68%);
  mix-blend-mode: screen; opacity: .8; animation: amwaj-sun-rays 60s linear infinite; }
.amwaj.close .sun-rays::after { content: ""; position: absolute; inset: 30%; border-radius: 50%; background: radial-gradient(circle, rgba(255, 248, 232, .75) 0%, rgba(255, 236, 196, .25) 45%, transparent 70%); }
.amwaj.close .sun-emblem { position: relative; width: 100%; height: auto; filter: drop-shadow(0 0 6px rgba(255, 246, 226, .9)) drop-shadow(0 0 22px rgba(255, 226, 160, .8)); animation: amwaj-sun-glow 4s ease-in-out infinite alternate; }
@keyframes amwaj-sun-rays { to { transform: rotate(360deg); } }
@keyframes amwaj-sun-glow { from { opacity: .82; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .amwaj.close .sun-rays, .amwaj.close .sun-emblem { animation: none; } }

/* ---- Journal: Red Sea Global style switcher carousel -------------------------------------------------------- */
.amwaj-journal-head h2 { display: grid; gap: 4px; line-height: 1.05 !important; }
.amwaj-journal-head h2 .l1 { font-weight: 300; font-size: clamp(26px, 3vw, 36px); letter-spacing: .22em; text-transform: uppercase; }
.amwaj-journal-head h2 .l2 { font-weight: 600; font-size: clamp(34px, 4.6vw, 60px); letter-spacing: -.02em; color: var(--head); }
#journal { overflow-x: clip; }
.amwaj.journal { --w: 1184px; --gap: 20px; --iw: calc(var(--w) * .56); --tw: calc(var(--w) - var(--iw) - clamp(32px, 4vw, 64px)); --t: .9s; --k: 0; }

.amwaj.journal .jtabs { position: relative; display: flex; gap: clamp(28px, 4vw, 64px); border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.amwaj.journal .jtabs::-webkit-scrollbar { display: none; }
.amwaj.journal .jtab { flex: none; padding: 0 0 18px; border: 0; background: none; font: inherit; font-size: clamp(17px, 1.6vw, 22px); font-weight: 400; letter-spacing: -.01em; color: var(--muted); cursor: pointer; transition: color .3s; }
.amwaj.journal .jtab:hover, .amwaj.journal .jtab.is-active { color: var(--head); }
.amwaj.journal .jtab.is-active { font-weight: 500; }
.amwaj.journal .jline { position: absolute; left: 0; bottom: -1px; height: 2px; width: 0; background: var(--gold); transition: transform .6s var(--ease-out), width .6s var(--ease-out); }

.amwaj.journal .jview { position: relative; margin-top: clamp(36px, 4.5vw, 56px); }
.amwaj.journal .jtrack { display: flex; align-items: flex-start; transform: translate3d(calc(var(--k) * -1 * (var(--iw) + var(--gap))), 0, 0); transition: transform var(--t) var(--ease-inout); }
.amwaj.journal .jslide { flex: 0 0 auto; display: flex; padding-right: var(--gap); }
.amwaj.journal .jtext { width: 0; overflow: hidden; opacity: 0; transition: width var(--t) var(--ease-inout), opacity .35s; }
.amwaj.journal .jin { width: var(--tw); min-height: calc(var(--iw) * .7); padding-bottom: 64px; display: flex; flex-direction: column; align-items: flex-start; }
.amwaj.journal .jslide.is-active .jtext { width: calc(var(--w) - var(--iw)); opacity: 1; transition: width var(--t) var(--ease-inout), opacity .6s .45s; }
.amwaj.journal .jin small { font-size: 13px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--accent-text); }
.amwaj.journal .jin h3 { margin: 14px 0 0; padding: 0; font-size: clamp(28px, 3vw, 42px); line-height: 1.12; font-weight: 400; letter-spacing: -.02em; }
.amwaj.journal .jin h3 a { color: var(--gold); text-decoration: none; }
.amwaj.journal .jin p { margin: 22px 0 0; padding: 0; font-size: 17px; line-height: 1.7; color: var(--text); max-width: 46ch; }
.amwaj.journal .jbtn { display: inline-flex; align-items: center; height: 60px; padding: 0 34px; margin-top: clamp(32px, 4vw, 64px); border-radius: 999px; box-shadow: inset 0 0 0 1px var(--gold); color: var(--head); font-size: 16px; font-weight: 500; text-decoration: none; transition: background .3s, color .3s; }
.amwaj.journal .jbtn:hover { background: var(--gold); color: #000; }
.amwaj.journal .jimg { position: relative; display: block; flex: none; width: var(--iw); aspect-ratio: 10 / 7; border-radius: 12px; overflow: hidden; background: #111; }
.amwaj.journal .jimg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.4s var(--ease-out), filter .6s; }
.amwaj.journal .jslide.is-active .jimg img { transform: scale(1); }
.amwaj.journal .jslide:not(.is-active) .jimg { cursor: pointer; }
.amwaj.journal .jslide:not(.is-active) .jimg img { filter: brightness(.7) saturate(.85); }

.amwaj.journal .jnav { position: absolute; left: 0; bottom: 0; display: flex; gap: 16px; }
.amwaj.journal .jarrow { display: grid; place-items: center; width: 50px; height: 34px; padding: 0; border: 0; border-radius: 999px; background: none; color: var(--head); box-shadow: inset 0 0 0 1px var(--line-2); cursor: pointer; transition: box-shadow .3s, color .3s, opacity .3s; }
.amwaj.journal .jarrow:hover:not(:disabled) { box-shadow: inset 0 0 0 1px var(--gold); color: var(--gold); }
.amwaj.journal .jarrow:disabled { opacity: .35; cursor: default; }

/* Phones and tablets: swipeable cards, photo on top and text below. */
@media (max-width: 980px) {
  .amwaj.journal .jview { margin-top: 28px; }
  .amwaj.journal .jtrack { transform: none; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); scroll-padding: 0 var(--gutter); scrollbar-width: none; }
  .amwaj.journal .jtrack::-webkit-scrollbar { display: none; }
  .amwaj.journal .jslide { flex: 0 0 min(84vw, 520px); flex-direction: column-reverse; padding: 0; scroll-snap-align: start; }
  .amwaj.journal .jtext, .amwaj.journal .jslide.is-active .jtext { width: auto; opacity: 1; }
  .amwaj.journal .jin { width: auto; min-height: 0; padding: 20px 0 0; }
  .amwaj.journal .jin h3 { font-size: 26px; }
  .amwaj.journal .jin p { font-size: 15px; margin-top: 12px; }
  .amwaj.journal .jbtn { height: 50px; padding: 0 26px; margin-top: 22px; font-size: 15px; }
  .amwaj.journal .jimg { width: 100%; aspect-ratio: 4 / 3; }
  .amwaj.journal .jimg img, .amwaj.journal .jslide:not(.is-active) .jimg img { transform: none; filter: none; }
  .amwaj.journal .jnav { position: static; margin-top: 28px; }
}
/* Every card keeps its button on the same line: titles and summaries are capped, the button sits at the bottom. */
.amwaj.journal .jin h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.amwaj.journal .jin p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.amwaj.journal .jin .jbtn { margin-top: auto; }
.amwaj.journal .jin p { margin-bottom: clamp(28px, 3vw, 48px); }
@media (max-width: 980px) {
  .amwaj.journal .jtrack { align-items: stretch; }
  .amwaj.journal .jtext, .amwaj.journal .jslide.is-active .jtext { flex: 1; display: flex; }
  .amwaj.journal .jin { flex: 1; }
  .amwaj.journal .jin h3 { min-height: calc(3 * 1.12em); -webkit-line-clamp: 3; }
  .amwaj.journal .jin p { min-height: calc(3 * 1.7em); margin-bottom: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .amwaj.journal { --t: 0s; }
  .amwaj.journal .jline { transition: none; }
}
