/*
Theme Name: Dubai Week Pro
Theme URI: https://www.dubaiweek.ae/
Description: Custom theme for Dubai Week, built to Sam's "City" design handoff (24 Oct 2026): black masthead, full-bleed lead photo, teal accent, bold grotesque headlines.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: dubai-week-pro
*/

/* ------------------------------------------------------------------ Tokens (design handoff, binding)
   Colours: ink #0e0f10, near-black surface #1c1e20, dark borders #2a2c2e / #3a3d40, muted on dark #b9bcbf / #8a8e92,
   standfirst on dark #d6d9dc, muted on light #5f6468, light surface #f3f4f5, light border #e3e5e7, pill border #d3d6d9,
   teal #5cc8d9 (on dark, or as a fill: never small text on white). Type: Archivo (display), IBM Plex Sans (body).
   Radius 3px chips and buttons, 4px cards and images, 999px pills. No shadows. */
:root {
	--ink: #0e0f10;
	--ink-2: #1c1e20;
	--bd-d: #2a2c2e;
	--bd-d2: #3a3d40;
	--mu-d: #b9bcbf;
	--mu-d2: #8a8e92;
	--st-d: #d6d9dc;
	--mu: #5f6468;
	--surf: #f3f4f5;
	--bd: #e3e5e7;
	--bd-p: #d3d6d9;
	--teal: #5cc8d9;
	--teal-ink: #0f6c7b; /* teal for small text on white (links in body copy) */
	--white: #fff;
	--f-d: "Archivo", "Archivo Fallback", "Helvetica Neue", Arial, sans-serif;
	--f-b: "IBM Plex Sans", "Plex Fallback", "Helvetica Neue", Arial, sans-serif;
	--wrap: 1360px; /* 1280px of content plus the 40px gutters, as the reference renders (content-box containers) */
	--inner: 1280px;
	--gut: 40px;
}
@media (max-width: 1023px) { :root { --gut: 28px; } }
@media (max-width: 719px) { :root { --gut: 16px; } }

/* ------------------------------------------------------------------ Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--f-b); font-size: 16px; line-height: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: clip; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; text-decoration: underline; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6, p, ol, ul, figure, dl, dd { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.dw-band :focus-visible, .dw-nl :focus-visible { outline-color: var(--white); }
.dw-sr, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dw-skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--teal); color: var(--ink); padding: 10px 14px; border-radius: 3px; font: 700 14px var(--f-d); }
.dw-skip:focus { top: 12px; }
.dw-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding-inline: var(--gut); }
.dw-main { display: block; }
[hidden] { display: none !important; }

/* Whole-card links: the headline link stretches over its card. */
.dw-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.dw-card, .dw-today__i, .dw-chg__c, .dw-wo, .dw-biz__lead, .dw-biz__s, .dw-q, .dw-hero, .dw-row { position: relative; }

/* ------------------------------------------------------------------ Black band: top bar and masthead */
.dw-band { background: var(--ink); color: var(--white); }
.dw-top { max-width: var(--wrap); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; padding: 10px var(--gut); border-bottom: 1px solid var(--bd-d); font-size: 12px; color: var(--mu-d); }
.dw-top__l { display: flex; gap: 24px; flex-wrap: wrap; row-gap: 4px; }
.dw-top__date { color: var(--white); font-weight: 500; }
.dw-top__r { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dw-top__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); display: inline-block; }
.dw-top__r b { color: var(--white); }
.dw-top__chg { color: var(--teal); }

.dw-mast { max-width: var(--wrap); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 24px; padding: 22px var(--gut); }
.dw-logo { display: block; flex: none; line-height: 0; }
.dw-logo img { height: 52px; width: auto; display: block; }
.dw-nav ul { display: flex; flex-wrap: wrap; gap: 26px; margin: 0; padding: 0; list-style: none; font: 600 14px var(--f-d); letter-spacing: .01em; }
.dw-nav a { white-space: nowrap; color: var(--white); }
.dw-nav a.is-on { color: var(--teal); }
.dw-sp { display: flex; align-items: center; gap: 8px; width: 210px; border: 1px solid var(--bd-d2); border-radius: 999px; padding: 8px 14px; font-size: 13px; color: var(--mu-d); margin: 0; }
.dw-sp__i { width: 15px; height: 15px; flex: none; border: 1.5px solid var(--mu-d); border-radius: 50%; display: inline-block; }
.dw-sp input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0; margin: 0; font: 13px var(--f-b); color: var(--white); line-height: 17px; height: 17px; outline: 0; -webkit-appearance: none; appearance: none; }
.dw-sp input::placeholder { color: var(--mu-d); opacity: 1; }
.dw-sp input::-webkit-search-cancel-button { -webkit-appearance: none; }
.dw-sp:focus-within { border-color: var(--mu-d); }
.dw-sbtn { display: none; }

@media (max-width: 1199px) {
	.dw-mast { display: grid; grid-template-columns: auto 1fr; row-gap: 18px; column-gap: 24px; }
	.dw-sp { justify-self: end; grid-column: 2; grid-row: 1; }
	.dw-nav { grid-column: 1 / -1; grid-row: 2; }
	.dw-nav ul { row-gap: 10px; }
}
@media (max-width: 719px) {
	.dw-top { gap: 4px 16px; padding-block: 8px; }
	.dw-top__l { gap: 4px 16px; }
	.dw-mast { grid-template-columns: 1fr auto; padding-block: 14px 0; row-gap: 12px; }
	.dw-logo img { height: 36px; }
	.dw-sbtn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--bd-d2); border-radius: 999px; grid-column: 2; grid-row: 1; justify-self: end; }
	.dw-sbtn:hover { text-decoration: none; }
	.dw-sp { display: none; grid-column: 1 / -1; grid-row: 2; width: 100%; padding: 12px 16px; }
	.dw-sp input { font-size: 16px; height: 20px; line-height: 20px; }
	.dw-mast.is-search .dw-sp { display: flex; }
	.dw-nav { grid-row: auto; margin-inline: calc(var(--gut) * -1); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.dw-nav::-webkit-scrollbar { display: none; }
	.dw-nav ul { flex-wrap: nowrap; gap: 22px; padding: 2px var(--gut) 0; width: max-content; }
	.dw-nav a { display: inline-block; padding: 12px 0 14px; }
}

/* ------------------------------------------------------------------ Shared type */
.dw-lab { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mu); }
.dw-lab--partner { display: inline-block; align-self: flex-start; background: var(--surf); color: var(--ink); padding: 3px 8px; border-radius: 3px; letter-spacing: .06em; }
.dw-chip { background: var(--ink); color: var(--teal); font: 600 12px var(--f-d); padding: 6px 10px; border-radius: 3px; white-space: nowrap; }
.dw-fig { color: var(--ink); background: var(--surf); padding: 2px 8px; border-radius: 3px; font-family: var(--f-d); font-weight: 700; white-space: nowrap; }
.dw-btn { display: inline-block; align-self: flex-start; background: var(--ink); color: var(--white); padding: 14px 22px; border-radius: 3px; font: 700 14px var(--f-d); border: 0; cursor: pointer; }
.dw-btn:hover { color: var(--white); }
.dw-btn--teal { background: var(--teal); color: var(--ink); }
.dw-btn--teal:hover { color: var(--ink); }
.dw-btn--line { background: transparent; color: var(--ink); border: 1px solid var(--bd-p); padding: 13px 21px; }
.dw-btn--line:hover { color: var(--ink); border-color: var(--ink); text-decoration: none; }

/* Section heading row: title + 1px black rule filling the row (the rule shrinks, never the title) + optional link. */
.dw-sh { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.dw-sh--s { margin-bottom: 18px; }
.dw-sh__t { margin: 0; font: 800 34px/1 var(--f-d); letter-spacing: -.03em; white-space: nowrap; flex: none; }
.dw-sh--s .dw-sh__t { font: 700 22px/1 var(--f-d); letter-spacing: -.02em; }
.dw-sh__r { height: 1px; flex: 1; background: var(--ink); min-width: 24px; }
.dw-sh__m { font-size: 13px; font-weight: 500; white-space: nowrap; }
.dw-sh__n { font-size: 13px; color: var(--mu); white-space: nowrap; }
@media (max-width: 719px) {
	.dw-sh__t { font-size: 28px; white-space: normal; flex: 0 1 auto; text-wrap: balance; }
	.dw-sh--s .dw-sh__t { font-size: 20px; }
}

/* Pills (What's On filters, related sections). */
.dw-pills { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; font-weight: 500; }
.dw-pill { display: inline-block; border: 1px solid var(--bd-p); border-radius: 999px; padding: 6px 12px; background: transparent; color: var(--ink); font: 500 12px var(--f-b); cursor: pointer; line-height: normal; white-space: nowrap; }
.dw-pill:hover { border-color: var(--ink); text-decoration: none; }
.dw-pill.is-on { background: var(--ink); border-color: var(--ink); color: var(--white); }
@media (pointer: coarse) { .dw-pill { padding: 10px 14px; font-size: 13px; } }

/* Images */
.dw-media { display: block; position: relative; overflow: hidden; border-radius: 4px; background: var(--surf); }
.dw-media--1610 { aspect-ratio: 16 / 10; }
.dw-media--11 { aspect-ratio: 1 / 1; }
.dw-media--45 { aspect-ratio: 4 / 5; }
.dw-media--21 { aspect-ratio: 2 / 1; }
.dw-media .dw-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.dw-ph--none { background: repeating-linear-gradient(135deg, #eceef0 0 12px, #e3e6e9 12px 24px); }

/* Story card (More Dubai News, archives, Keep reading). */
.dw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 24px; }
.dw-card { display: flex; flex-direction: column; gap: 10px; padding: 16px 0; border-top: 1px solid var(--bd); }
.dw-card__t { font: 600 16px/1.3 var(--f-d); letter-spacing: -.01em; text-wrap: pretty; }
.dw-card__x { font-size: 14px; line-height: 1.5; color: var(--mu); }
.dw-card__m { font-size: 12px; color: var(--mu); }
.dw-card--l .dw-card__t { font: 800 28px/1.15 var(--f-d); letter-spacing: -.02em; }
.dw-card--l .dw-card__x { font-size: 16px; }
.dw-card--l .dw-card__m { font-size: 13px; }
.dw-card mark, .dw-q mark, .dw-row mark { background: #d5f1f6; color: inherit; padding: 0 1px; }
@media (max-width: 719px) {
	.dw-grid { grid-template-columns: 1fr; gap: 0; }
	.dw-grid .dw-card { display: grid; grid-template-columns: 1fr 104px; grid-template-areas: "lab img" "t img" "m img"; column-gap: 14px; row-gap: 8px; align-content: start; }
	.dw-grid .dw-card .dw-media { grid-area: img; aspect-ratio: 1 / 1; align-self: start; }
	.dw-grid .dw-card .dw-lab { grid-area: lab; }
	.dw-grid .dw-card .dw-card__t { grid-area: t; }
	.dw-grid .dw-card .dw-card__m { grid-area: m; }
	.dw-grid .dw-card .dw-card__x { display: none; }
}

/* Dubai Explained card. */
.dw-q { background: var(--surf); border-radius: 4px; padding: 28px; display: flex; flex-direction: column; gap: 28px; min-height: 246px; }
.dw-q__m { font: 800 40px/1 var(--f-d); color: var(--teal); }
.dw-q__t { font: 600 22px/1.25 var(--f-d); letter-spacing: -.02em; flex: 1; text-wrap: pretty; }
.dw-q__f { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--mu); }
@media (max-width: 719px) { .dw-q { min-height: 0; padding: 22px; gap: 18px; } .dw-q__t { font-size: 20px; } .dw-q__m { font-size: 32px; } }

/* What's On card: photo, date badge, meta line and headline over the gradient. */
.dw-wo { aspect-ratio: 1 / 1; border-radius: 4px; overflow: hidden; display: flex; align-items: flex-end; color: var(--white); background: #2a2c2e; }
.dw-wo--big { grid-column: span 2; aspect-ratio: 2 / 1; }
.dw-wo .dw-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.dw-wo .dw-ph--none { background: repeating-linear-gradient(135deg, #3a3d40 0 12px, #45484c 12px 24px); }
.dw-wo__fade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 15, 16, 0) 35%, rgba(14, 15, 16, .9) 100%); }
.dw-wo__date { position: absolute; top: 14px; left: 14px; background: var(--white); color: var(--ink); font: 700 12px var(--f-d); padding: 5px 9px; border-radius: 3px; white-space: nowrap; }
.dw-wo__b { position: relative; padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.dw-wo__m { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--teal); }
.dw-wo__t { font: 600 18px/1.25 var(--f-d); letter-spacing: -.01em; text-wrap: pretty; color: var(--white); }
.dw-wo__t a { color: var(--white); }

/* Numbers tile (homepage, /dubai-in-numbers/, tracker pages). */
.dw-tile { border: 1px solid var(--bd-d); border-radius: 4px; padding: 26px 24px; display: flex; flex-direction: column; gap: 12px; min-height: 244px; color: var(--white); }
a.dw-tile:hover { text-decoration: none; border-color: var(--bd-d2); }
.dw-tile__l { font: 400 13px var(--f-b); color: var(--mu-d); margin: 0; }
.dw-tile__v { font: 800 48px/1 var(--f-d); letter-spacing: -.04em; color: var(--teal); overflow-wrap: anywhere; }
.dw-tile__v small { font-size: .45em; letter-spacing: 0; color: var(--mu-d); }
.dw-tile__c { font-size: 14px; font-weight: 500; color: var(--white); }
.dw-tile__f { font-size: 11px; color: var(--mu-d2); margin-top: auto; }
@media (max-width: 719px) {
	.dw-tile { padding: 18px 16px; gap: 10px; min-height: 0; }
	.dw-tile__l { font-size: 12px; }
	.dw-tile__v { font-size: clamp(22px, 6.6vw, 48px); letter-spacing: -.03em; }
	.dw-tile__c { font-size: 13px; }
	.dw-tile__f { font-size: 10.5px; }
}

/* Breadcrumbs, pager, notes */
.dw-crumbs { font-size: 12px; color: var(--mu); display: flex; flex-wrap: wrap; gap: 6px; }
.dw-crumbs a { color: var(--mu); }
.dw-crumbs a:hover { color: var(--ink); }
.dw-crumbs .breadcrumb_last { color: var(--ink); }
.dw-crumbs--dark, .dw-crumbs--dark a { color: var(--mu-d); }
.dw-crumbs--dark .breadcrumb_last { color: var(--white); }
.dw-crumbs span span { display: inline; }
.dw-pager { display: flex; flex-wrap: wrap; gap: 8px; margin: 40px 0 0; font: 600 14px var(--f-d); }
.dw-pager a, .dw-pager span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid var(--bd-p); border-radius: 999px; }
.dw-pager a:hover { border-color: var(--ink); text-decoration: none; }
.dw-pager .current { background: var(--ink); border-color: var(--ink); color: var(--white); }
.dw-pager .dots { border: 0; min-width: 0; padding: 0 4px; }
.dw-empty { background: var(--surf); border-radius: 4px; padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.dw-empty__t { font: 700 22px/1.25 var(--f-d); letter-spacing: -.02em; }
.dw-note { font-size: 14px; color: var(--mu); line-height: 1.5; }
.dw-note a, .dw-empty a:not(.dw-pill) { text-decoration: underline; text-decoration-color: var(--teal); text-underline-offset: 3px; }

/* Search field (search page, 404) */
.dw-sf { display: flex; gap: 8px; max-width: 640px; }
.dw-sf input { flex: 1; min-width: 0; border: 1px solid var(--bd-p); border-radius: 3px; background: var(--white); padding: 14px 16px; font: 16px var(--f-b); color: var(--ink); }
.dw-sf input:focus { outline: 2px solid var(--teal); outline-offset: 0; border-color: var(--ink); }
.dw-sf button { background: var(--ink); color: var(--white); border: 0; border-radius: 3px; padding: 14px 20px; font: 700 14px var(--f-d); cursor: pointer; }

/* ------------------------------------------------------------------ Prose (articles, pages, trackers) */
.dw-prose { font-size: 18px; line-height: 1.65; color: var(--ink); overflow-wrap: break-word; }
.dw-prose > * + * { margin-top: 1.1em; }
.dw-prose h2 { font: 700 26px/1.2 var(--f-d); letter-spacing: -.02em; margin-top: 1.8em; scroll-margin-top: 24px; }
.dw-prose h3 { font: 700 21px/1.25 var(--f-d); letter-spacing: -.01em; margin-top: 1.6em; }
.dw-prose h4, .dw-prose h5, .dw-prose h6 { font: 700 18px/1.3 var(--f-d); margin-top: 1.4em; }
.dw-prose h2 + *, .dw-prose h3 + * { margin-top: .6em; }
.dw-prose a { text-decoration: underline; text-decoration-color: var(--teal); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.dw-prose a:hover { text-decoration-color: var(--ink); }
.dw-prose strong, .dw-prose b { font-weight: 600; }
.dw-prose ul, .dw-prose ol { padding-left: 1.3em; }
.dw-prose li + li { margin-top: .45em; }
.dw-prose li::marker { color: var(--mu); }
.dw-prose blockquote { margin-left: 0; margin-right: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--teal); font-size: 20px; line-height: 1.5; }
.dw-prose img, .dw-prose video, .dw-prose iframe { max-width: 100%; border-radius: 4px; }
.dw-prose figure { margin-left: 0; margin-right: 0; }
.dw-prose figure img { display: block; }
.dw-prose hr { border: 0; height: 1px; background: var(--bd); margin: 2em 0; }
.dw-table { overflow-x: auto; border: 1px solid var(--bd); border-radius: 4px; }
.dw-prose table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.dw-prose th, .dw-prose td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--bd); vertical-align: top; }
.dw-prose thead th, .dw-prose tr:first-child th { background: var(--ink); color: var(--white); font: 600 13px var(--f-d); letter-spacing: .02em; }
.dw-prose tbody tr:nth-child(even) td { background: #fafbfb; }
.dw-prose .wp-block-table { margin-left: 0; margin-right: 0; }

@media (max-width: 719px) { .dw-prose { font-size: 17px; line-height: 1.62; } .dw-prose h2 { font-size: 22px; } .dw-prose h3 { font-size: 19px; } }

/* ------------------------------------------------------------------ Newsletter (every page) */
.dw-nl-wrap { padding-bottom: 56px; }
.dw-nl { background: var(--ink); color: var(--white); border-radius: 4px; padding: 44px 48px; display: grid; grid-template-columns: 1fr minmax(280px, 420px); gap: 40px; align-items: center; }
.dw-nl__t { margin: 0 0 8px; font: 800 32px/1.1 var(--f-d); letter-spacing: -.03em; text-wrap: pretty; }
.dw-nl__x { font-size: 15px; color: var(--mu-d); }
.dw-nl__f { display: flex; gap: 8px; position: relative; }
.dw-nl__f input[type=email] { flex: 1; min-width: 0; border: 1px solid var(--bd-d2); border-radius: 3px; background: var(--ink-2); padding: 14px 16px; font: 15px var(--f-b); color: var(--white); }
.dw-nl__f input[type=email]::placeholder { color: var(--mu-d2); opacity: 1; }
.dw-nl__f input[type=email]:focus { outline: 2px solid var(--teal); outline-offset: 0; }
.dw-nl__f button { background: var(--teal); color: var(--ink); border: 0; border-radius: 3px; padding: 14px 20px; font: 700 14px var(--f-d); cursor: pointer; white-space: nowrap; }
.dw-nl__f button[disabled] { opacity: .6; cursor: wait; }
.dw-nl__c { margin-top: 10px; font-size: 12px; color: var(--mu-d2); line-height: 1.5; }
.dw-nl__c a { color: var(--mu-d); text-decoration: underline; text-underline-offset: 2px; }
.dw-nl__c.is-ok { color: var(--teal); font-size: 14px; font-weight: 500; }
.dw-nl__c.is-err { color: #ffb4a8; font-size: 14px; font-weight: 500; }
.dw-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.dw-flash { background: var(--teal); color: var(--ink); font: 600 14px var(--f-b); text-align: center; padding: 12px var(--gut); }
@media (max-width: 1023px) { .dw-nl { grid-template-columns: 1fr; gap: 24px; padding: 36px 32px; } }
@media (max-width: 719px) {
	.dw-nl-wrap { padding-bottom: 40px; }
	.dw-nl { padding: 28px 20px; }
	.dw-nl__t { font-size: 26px; }
	.dw-nl__f input[type=email] { font-size: 16px; }
}

/* ------------------------------------------------------------------ Footer */
.dw-foot { color: var(--mu-d); }
.dw-foot__g { max-width: var(--wrap); margin: 0 auto; padding: 40px var(--gut); display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 40px; font-size: 13px; }
.dw-foot__brand { display: flex; flex-direction: column; gap: 14px; }
.dw-foot__brand img { height: 36px; width: auto; align-self: flex-start; display: block; }
.dw-foot__c { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.dw-foot__c h2 { color: var(--white); font: 600 11px var(--f-d); letter-spacing: .08em; text-transform: uppercase; margin: 0; }
.dw-foot a { color: var(--mu-d); }
.dw-foot a:hover { color: var(--white); }
@media (max-width: 719px) {
	.dw-foot__g { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
	.dw-foot__brand { grid-column: 1 / -1; }
	.dw-foot__c { gap: 0; }
	.dw-foot__c h2 { margin-bottom: 4px; }
	.dw-foot__c a { padding: 9px 0; }
}

/* ================================================================== Homepage blocks (also reused by archives and Numbers pages) */
/* Dubai Week homepage: the handoff's sections 3 to 10 (header, newsletter and footer live in style.css). */

/* 3. Lead story: full-bleed photo, gradient, text bottom-left inside the 1280 container. */
.dw-hero { width: 100%; height: min(50vw, 680px); background: var(--ink-2); display: flex; align-items: flex-end; overflow: hidden; color: var(--white); }
.dw-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.dw-hero__img.dw-ph--none { background: repeating-linear-gradient(135deg, #3a3d40 0 12px, #45484c 12px 24px); }
.dw-hero__fade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 15, 16, 0) 30%, rgba(14, 15, 16, .92) 100%); }
.dw-hero__b { position: relative; width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gut) 48px; display: flex; flex-direction: column; gap: 16px; }
.dw-hero__l { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--teal); }
.dw-hero__t { max-width: 880px; font: 800 58px/1 var(--f-d); letter-spacing: -.03em; text-wrap: pretty; }
.dw-hero__t a { color: var(--white); }
.dw-hero__x { font-size: 19px; line-height: 1.45; color: var(--st-d); max-width: 700px; text-wrap: pretty; }
.dw-hero__m { font-size: 13px; color: var(--mu-d); }

/* 3b. Today in Dubai */
.dw-today { padding-top: 28px; padding-bottom: 48px; border-bottom: 1px solid var(--bd); }
.dw-today__g { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 28px; list-style: none; margin: 0; padding: 0; }
.dw-today__i { display: flex; flex-direction: column; gap: 10px; border-top: 3px solid var(--ink); padding-top: 14px; }
.dw-today__k { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mu); }
.dw-today__n { color: var(--ink); font-family: var(--f-d); }
.dw-today__t { font: 600 17px/1.3 var(--f-d); letter-spacing: -.01em; text-wrap: pretty; }
.dw-today__m { font-size: 12px; color: var(--mu); }

/* 4. What changed this week */
.dw-chg { padding-top: 48px; padding-bottom: 48px; display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: 40px; }
.dw-chg__t { margin: 0 0 10px; font: 800 34px/1 var(--f-d); letter-spacing: -.03em; text-wrap: pretty; }
.dw-chg__x { font-size: 14px; color: var(--mu); line-height: 1.5; }
.dw-chg__g { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.dw-chg__c { background: var(--surf); border-radius: 4px; padding: 22px 24px; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: start; }
.dw-chg__b { display: flex; flex-direction: column; gap: 8px; }
.dw-chg__h { font: 600 18px/1.3 var(--f-d); letter-spacing: -.01em; text-wrap: pretty; }

/* 5. What's On */
.dw-on { padding-top: 8px; padding-bottom: 56px; }
.dw-on__h { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 14px 24px; margin-bottom: 22px; }
.dw-on__g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }

/* 6. Dubai This Week (teal band) */
.dw-week { background: var(--teal); color: var(--ink); }
.dw-week__g { padding-top: 60px; padding-bottom: 60px; display: grid; grid-template-columns: 1fr minmax(280px, 440px); gap: 60px; align-items: center; }
.dw-week__g:not(:has(.dw-week__img)) { grid-template-columns: 1fr; }
.dw-week__b { display: flex; flex-direction: column; gap: 22px; }
.dw-week__e { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.dw-week__t { font: 800 48px/1 var(--f-d); letter-spacing: -.03em; text-wrap: pretty; }
.dw-week__h { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px 28px; list-style: none; margin: 0; padding: 0; }
.dw-week__h li { display: grid; grid-template-columns: 36px 1fr; gap: 10px; font-size: 16px; line-height: 1.4; border-top: 1px solid rgba(14, 15, 16, .35); padding-top: 12px; }
.dw-week__h b { font: 800 20px var(--f-d); }
.dw-week__img { background: var(--ink); }

/* 7. Business & Property */
.dw-biz { padding-top: 56px; padding-bottom: 56px; }
.dw-biz__g { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 24px; }
.dw-biz__g--3 { grid-template-columns: 2fr 1fr 1fr; }
.dw-biz__g--2 { grid-template-columns: 2fr 1fr; }
.dw-biz__g--1 { grid-template-columns: minmax(0, 640px); }
.dw-biz__lead { display: flex; flex-direction: column; gap: 12px; }
.dw-biz__lt { font: 800 28px/1.15 var(--f-d); letter-spacing: -.02em; text-wrap: pretty; }
.dw-biz__m { display: flex; gap: 14px; font-size: 13px; color: var(--mu); align-items: center; }
.dw-biz__m--s { gap: 10px; font-size: 12px; flex-wrap: wrap; }
.dw-biz__s { display: flex; flex-direction: column; gap: 10px; }
.dw-biz__sb { display: flex; flex-direction: column; gap: 10px; }
.dw-biz__st { font: 600 17px/1.3 var(--f-d); letter-spacing: -.01em; text-wrap: pretty; }

/* 8. Dubai in Numbers */
.dw-num__in { padding-top: 56px; padding-bottom: 56px; }
.dw-num__h { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.dw-num__h a { color: var(--white); }
.dw-num__n { font-size: 13px; color: var(--mu-d); }
.dw-num__g { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }

/* 9. Dubai Explained, 10. More Dubai News */
.dw-exp { padding-top: 56px; padding-bottom: 56px; }
.dw-exp__g { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.dw-more { padding-bottom: 56px; }
.dw-more .dw-sh { margin-bottom: 10px; }

/* ------------------------------------------------------------------ Tablet */
@media (max-width: 1199px) {
	.dw-hero { height: auto; min-height: min(50vw, 600px); }
	.dw-hero__b { padding-top: 160px; }
	.dw-hero__t { font-size: 48px; }
}
@media (max-width: 1023px) {
	.dw-hero { min-height: 520px; }
	.dw-hero__t { font-size: 42px; }
	.dw-hero__x { font-size: 17px; }
	.dw-chg { grid-template-columns: 1fr; gap: 24px; }
	.dw-chg__i { max-width: 560px; }
	.dw-on__g { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.dw-week__g { grid-template-columns: 1fr 280px; gap: 40px; padding-top: 48px; padding-bottom: 48px; }
	.dw-week__t { font-size: 40px; }
	.dw-biz__g, .dw-biz__g--3, .dw-biz__g--2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dw-biz__g--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dw-biz__lead { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto 1fr; column-gap: 24px; row-gap: 12px; align-content: start; }
	.dw-biz__lead .dw-media { grid-row: 1 / span 3; }
	.dw-num__g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dw-exp__g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dw-exp__g .dw-q:nth-child(3):last-child { grid-column: 1 / -1; min-height: 0; }
}

/* ------------------------------------------------------------------ Phone */
@media (max-width: 719px) {
	.dw-hero { height: auto; min-height: 125vw; }
	.dw-hero__fade, .dw-ahero__fade { background: linear-gradient(180deg, rgba(14, 15, 16, 0) 8%, rgba(14, 15, 16, .6) 38%, rgba(14, 15, 16, .95) 72%); }
	.dw-hero__b { padding-top: 120px; padding-bottom: 28px; gap: 12px; }
	.dw-hero__t { font-size: 32px; line-height: 1.04; }
	.dw-hero__x { font-size: 16px; line-height: 1.45; }
	.dw-today { padding-top: 24px; padding-bottom: 36px; }
	.dw-today__g { grid-template-columns: 1fr; gap: 20px; }
	.dw-today__i { gap: 8px; }
	.dw-chg { padding-top: 36px; padding-bottom: 36px; gap: 18px; }
	.dw-chg__t { font-size: 28px; }
	.dw-chg__g { grid-template-columns: 1fr; gap: 12px; }
	.dw-chg__c { padding: 18px; gap: 14px; }
	.dw-chg__h { font-size: 17px; }

	/* What's On: horizontal swipe row */
	.dw-on { padding-top: 0; padding-bottom: 40px; }
	.dw-on__h { margin-bottom: 16px; }
	.dw-on__h .dw-pills { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gut) * -1); padding-inline: var(--gut); width: calc(100% + var(--gut) * 2); }
	.dw-on__h .dw-pills::-webkit-scrollbar { display: none; }
	.dw-on__g { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gut); margin-inline: calc(var(--gut) * -1); padding-inline: var(--gut); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.dw-on__g::-webkit-scrollbar { display: none; }
	.dw-on__g .dw-wo, .dw-on__g .dw-wo--big { flex: 0 0 78%; aspect-ratio: 4 / 5; scroll-snap-align: start; }

	.dw-week__g { grid-template-columns: 1fr; gap: 28px; padding-top: 40px; padding-bottom: 40px; }
	.dw-week__t { font-size: 34px; }
	.dw-week__h { grid-template-columns: 1fr; }
	.dw-week__img { aspect-ratio: 16 / 10; order: -1; }

	.dw-biz { padding-top: 40px; padding-bottom: 40px; }
	.dw-biz__g, .dw-biz__g--3, .dw-biz__g--2 { grid-template-columns: 1fr; gap: 0; }
	.dw-biz__lead { display: flex; padding-bottom: 20px; }
	.dw-biz__lt { font-size: 24px; }
	.dw-biz__s { display: grid; grid-template-columns: 1fr 96px; gap: 14px; padding: 16px 0; border-top: 1px solid var(--bd); }
	.dw-biz__s .dw-media { order: 2; }

	.dw-num__in { padding-top: 40px; padding-bottom: 40px; }
	.dw-num__h { margin-bottom: 20px; }
	.dw-num__g { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

	.dw-exp { padding-top: 40px; padding-bottom: 40px; }
	.dw-exp__g { grid-template-columns: 1fr; gap: 12px; }
	.dw-more { padding-bottom: 40px; }
}

/* ================================================================== Article */
/* Dubai Week article: photo hero with the lead gradient, reading column + side card, Keep reading. Same tokens as the homepage. */

/* Hero */
.dw-ahero { position: relative; width: 100%; height: min(46vw, 620px); display: flex; align-items: flex-end; overflow: hidden; }
.dw-ahero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.dw-ahero__fade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 15, 16, 0) 30%, rgba(14, 15, 16, .92) 100%); }
.dw-ahero--plain { height: auto; border-top: 1px solid var(--bd-d); }
.dw-ahero__b { position: relative; width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gut) 44px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; color: var(--white); }
.dw-ahero--plain .dw-ahero__b { padding-top: 56px; padding-bottom: 52px; }
.dw-ahero__l { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--teal); }
a.dw-ahero__l:hover { color: var(--teal); }
.dw-ahero__l--partner { background: var(--white); color: var(--ink); padding: 5px 9px; border-radius: 3px; letter-spacing: .06em; }
.dw-ahero__date { background: var(--white); color: var(--ink); font: 700 12px var(--f-d); padding: 5px 9px; border-radius: 3px; white-space: nowrap; }
.dw-ahero__t { max-width: 960px; font: 800 52px/1.02 var(--f-d); letter-spacing: -.03em; text-wrap: pretty; }
.dw-ahero__m { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; color: var(--mu-d); }
.dw-ahero__m a { color: var(--white); font-weight: 500; }

/* Body */
.dw-art__body { padding-top: 22px; padding-bottom: 56px; }
.dw-art__crumbs { margin-bottom: 28px; }
.dw-art__g { display: grid; grid-template-columns: minmax(0, 720px) minmax(260px, 320px); gap: 80px; align-items: start; }
.dw-art__stand { font-size: 21px; line-height: 1.45; color: var(--ink); font-weight: 500; margin-bottom: 28px; text-wrap: pretty; }
.dw-art__stand a { text-decoration: underline; text-decoration-color: var(--teal); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.dw-pnote { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; background: var(--surf); border-radius: 4px; padding: 18px 20px; font-size: 14px; line-height: 1.5; color: var(--mu); margin-bottom: 28px; }
.dw-pnote .dw-lab--partner { background: var(--ink); color: var(--white); }
.dw-pnote a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--teal); text-underline-offset: 3px; }

/* Side card */
.dw-side { position: sticky; top: 24px; }
.dw-side--none { display: block; }
.dw-side__card { background: var(--surf); border-radius: 4px; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.dw-side__h { color: var(--ink); }
.dw-side__facts { display: flex; flex-direction: column; width: 100%; }
.dw-side__facts > div { display: grid; grid-template-columns: 64px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid var(--bd-p); font-size: 14px; line-height: 1.45; }
.dw-side__facts dt { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mu); padding-top: 2px; }
.dw-side__facts dd { font-weight: 500; }
.dw-side__cta { width: 100%; text-align: center; }
.dw-side__list { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.dw-side__toc { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dw-side__toc li { border-top: 1px solid var(--bd-p); }
.dw-side__toc a, .dw-side__toc--plain li { display: grid; grid-template-columns: 30px 1fr; gap: 8px; padding: 10px 0; font-size: 14px; line-height: 1.4; }
.dw-side__toc b { font: 800 14px var(--f-d); }
.dw-side__src { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.dw-side__src a { display: inline-block; border: 1px solid var(--bd-p); background: var(--white); border-radius: 999px; padding: 5px 11px; font-size: 12px; }

/* End of article */
.dw-art__end { margin-top: 44px; display: flex; flex-direction: column; gap: 28px; }
.dw-art__share { display: flex; flex-direction: column; gap: 10px; padding-top: 22px; border-top: 1px solid var(--ink); }
.dw-share { display: flex; flex-wrap: wrap; gap: 8px; }
.dw-share__b { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--bd-p); border-radius: 999px; padding: 8px 14px; background: transparent; font: 500 13px var(--f-b); color: var(--ink); cursor: pointer; min-height: 40px; }
.dw-share__b:hover { border-color: var(--ink); text-decoration: none; }
.dw-share__b svg { width: 15px; height: 15px; flex: none; }
.dw-rep { display: grid; grid-template-columns: 56px 1fr; gap: 16px; background: var(--surf); border-radius: 4px; padding: 22px; }
.dw-mono { width: 56px; height: 56px; border-radius: 4px; background: var(--ink); color: var(--teal); font: 800 20px/56px var(--f-d); text-align: center; letter-spacing: -.02em; }
.dw-rep__t { display: flex; flex-direction: column; gap: 6px; }
.dw-rep__n { font: 700 17px var(--f-d); }
.dw-rep__b { font-size: 14px; line-height: 1.5; color: var(--mu); }

/* Keep reading */
.dw-keep { padding-bottom: 56px; }
.dw-keep .dw-sh { margin-bottom: 10px; }

@media (max-width: 1199px) {
	.dw-ahero { height: auto; min-height: min(56vw, 600px); }
	.dw-ahero__b { padding-top: 140px; }
	.dw-ahero__t { font-size: 44px; }
	.dw-art__g { grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; }
}
@media (max-width: 1023px) {
	.dw-art__g { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.dw-art__main { max-width: 720px; }
	.dw-side { position: static; max-width: 720px; }
	.dw-side--whatson, .dw-side--explained, .dw-side--week { order: -1; }
	.dw-side--none { display: none; }
	.dw-ahero__t { font-size: 40px; }
}
@media (max-width: 719px) {
	.dw-ahero { min-height: 112vw; }
	.dw-ahero--plain { min-height: 0; }
	.dw-ahero__b { padding-top: 120px; padding-bottom: 26px; gap: 12px; }
	.dw-ahero--plain .dw-ahero__b { padding-top: 36px; padding-bottom: 32px; }
	.dw-ahero__t { font-size: 30px; line-height: 1.06; }
	.dw-ahero__m { gap: 2px 12px; font-size: 12px; }
	.dw-art__body { padding-top: 16px; padding-bottom: 40px; }
	.dw-art__crumbs { margin-bottom: 20px; }
	.dw-art__g { gap: 24px; }
	.dw-art__stand { font-size: 18px; margin-bottom: 22px; }
	.dw-prose { font-size: 17px; line-height: 1.62; }
	.dw-prose h2 { font-size: 22px; }
	.dw-prose h3 { font-size: 19px; }
	.dw-side__card { padding: 20px; }
	.dw-keep { padding-bottom: 40px; }
	.dw-share__b span { display: none; }
	.dw-share__b { width: 44px; height: 44px; padding: 0; justify-content: center; }
	.dw-share__b:last-child { width: auto; padding: 0 14px; }
	.dw-share__b:last-child span { display: inline; }
}

/* ================================================================== Archives, author, search, 404, pages, Dubai in Numbers */
.dwa-mast { padding-top: 28px; padding-bottom: 8px; display: flex; flex-direction: column; gap: 16px; }
.dwa-mast__k { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mu); }
.dwa-mast__h { display: flex; align-items: flex-end; gap: 18px; }
.dwa-mast__t { font: 800 58px/1 var(--f-d); letter-spacing: -.03em; text-wrap: balance; max-width: 960px; }
.dwa-mast__h .dw-sh__r { margin-bottom: 12px; }
.dwa-mast__i { font-size: 19px; line-height: 1.45; color: var(--mu); max-width: 720px; text-wrap: pretty; }
.dwa-mast__f { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.dwa-mast__s { font-size: 13px; color: var(--mu); }
.dwa-mast__s b { color: var(--ink); font-family: var(--f-d); }
.dwa-mast .dw-pnote { margin: 4px 0 0; max-width: 720px; }
.dwa-sbox { margin-top: 4px; }
.dwa-404__p { margin-top: 4px; }
.dwa-body { padding-top: 32px; padding-bottom: 56px; }
.dwa-top { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 40px; margin-bottom: 40px; align-items: start; }
.dwa-lead { border-top: 0; padding-top: 0; gap: 12px; }
.dwa-lead .dw-card__t { font-size: 34px; line-height: 1.08; letter-spacing: -.03em; }
.dwa-latest__l { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 24px; }
.dwa-more { margin-top: 8px; }
.dwa-more .dw-sh { margin-bottom: 10px; }
.dwa-rest { margin-top: 48px; }
.dwa-list { display: flex; flex-direction: column; }
.dw-row { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 28px; padding: 22px 0; border-top: 1px solid var(--bd); align-items: start; }
.dw-row--plain { grid-template-columns: 1fr; padding: 16px 0; }
.dw-row__b { display: flex; flex-direction: column; gap: 8px; max-width: 760px; }
.dw-row__t { font: 600 21px/1.25 var(--f-d); letter-spacing: -.015em; text-wrap: pretty; }
.dw-row--plain .dw-row__t { font-size: 17px; }
.dw-row__x { font-size: 15px; line-height: 1.5; color: var(--mu); }
.dwa-on__h { justify-content: flex-start; }
.dwa-on__h:empty { display: none; }
.dwa-exp__g { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dwa-week { border-radius: 4px; margin-bottom: 40px; }
.dwa-week .dw-week__g { padding: 48px; }
.dwa-tips { margin: 0; padding-left: 1.2em; font-size: 15px; line-height: 1.6; color: var(--mu); }
.dwa-prof__g { display: grid; grid-template-columns: 96px 1fr; gap: 28px; align-items: start; }
.dwa-prof__m { width: 96px; height: 96px; font-size: 34px; line-height: 96px; }
.dwa-prof__b { display: flex; flex-direction: column; gap: 12px; }
.dwa-prof__b .dwa-mast__t { font-size: 48px; }
.dwa-prof__bio { font-size: 17px; line-height: 1.55; max-width: 720px; }
.dwa-prof__bio p + p { margin-top: .8em; }
.dwp-body { display: grid; grid-template-columns: minmax(0, 720px); gap: 80px; align-items: start; }
.dwp-body--toc { grid-template-columns: minmax(0, 720px) minmax(260px, 320px); }
.dwp-body--builder { grid-template-columns: 1fr; }
.dwp-builder { min-width: 0; }
.dwn__in { padding-top: 28px; padding-bottom: 56px; }
.dwn__h { margin: 24px 0 12px; align-items: flex-end; }
.dwn__t { font: 800 58px/1 var(--f-d); letter-spacing: -.03em; text-wrap: balance; }
.dwn__i { font-size: 17px; line-height: 1.5; color: var(--mu-d); max-width: 680px; margin-bottom: 32px; }
.dwn__wait { color: var(--mu-d); font-size: 15px; border: 1px dashed var(--bd-d2); border-radius: 4px; padding: 24px; }
.dwn--tracker .dwn__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 40px; align-items: end; margin-top: 24px; }
.dwn--tracker .dwn__t { margin: 12px 0; }
.dwn--tracker .dwn__i { margin-bottom: 0; }
.dwn-src { font-size: 14px; line-height: 1.55; }
@media (max-width: 1023px) {
	.dwa-mast__t, .dwn__t { font-size: 44px; }
	.dwa-top { grid-template-columns: 1fr; gap: 32px; }
	.dwa-exp__g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dwp-body, .dwp-body--toc { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.dwp-body--toc .dw-side { order: -1; }
	.dwn--tracker .dwn__g { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 719px) {
	.dwa-mast { padding-top: 20px; gap: 12px; }
	.dwa-mast__t, .dwn__t, .dwa-prof__b .dwa-mast__t { font-size: 34px; line-height: 1.04; }
	.dwa-mast__h .dw-sh__r { display: none; }
	.dwa-mast__i { font-size: 16px; }
	.dwa-body { padding-top: 20px; padding-bottom: 40px; }
	.dwa-lead .dw-card__t { font-size: 26px; }
	.dwa-exp__g { grid-template-columns: 1fr; }
	.dw-row { grid-template-columns: minmax(0, 1fr) 104px; gap: 14px; padding: 16px 0; }
	.dw-row--plain { grid-template-columns: 1fr; }
	.dw-row .dw-media { aspect-ratio: 1 / 1; }
	.dw-row__t { font-size: 17px; }
	.dw-row__x { display: none; }
	.dwa-week .dw-week__g { padding: 28px 20px; }
	.dwa-prof__g { grid-template-columns: 64px 1fr; gap: 16px; }
	.dwa-prof__m { width: 64px; height: 64px; font-size: 24px; line-height: 64px; }
	.dwn__in { padding-bottom: 40px; }
	.dw-sf button { padding-inline: 16px; }
}


@media (max-width: 719px) {
	.dw-table table { min-width: 560px; }
	.dwa-on__g { display: grid; grid-template-columns: 1fr; overflow: visible; margin-inline: 0; padding-inline: 0; gap: 12px; }
	.dwa-on__g .dw-wo, .dwa-on__g .dw-wo--big { flex: none; aspect-ratio: 4 / 3; grid-column: auto; }
	.dwa-on__h .dw-pills { margin-inline: 0; padding-inline: 0; width: auto; flex-wrap: wrap; }
}

/* ------------------------------------------------------------------ WordPress bits */
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, figcaption { font-size: 13px; color: var(--mu); line-height: 1.45; margin-top: 8px; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
