/* Page openings protect copy locally; the subject keeps its original contrast. */
.ace-page-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 480px; padding: 44px 0; background: rgb(var(--deep-ink)); color: rgb(var(--warm-paper)); }
.ace-page-hero > .ace-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--hero-focus, 70% 50%); opacity: 1; transform: none; z-index: -2; }
.ace-page-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgb(var(--deep-ink)) 0%, rgb(var(--deep-ink)/.97) 27%, rgb(var(--deep-ink)/.90) 37%, transparent 63%); }
.ace-hero-shell { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 32px; }
.ace-hero-copy { width: 42%; max-width: 490px; }
.ace-page-hero h1 { color: rgb(var(--warm-paper)); font-family: 'Instrument Serif', serif; font-weight: 400; font-size: 56px; line-height: 1.05; letter-spacing: 0; margin: 0 0 20px; overflow-wrap: normal; }
.ace-page-hero p { font-family: 'DM Sans', sans-serif; font-size: 16px; line-height: 1.6; margin: 0 0 24px; color: rgb(var(--warm-paper)); }
.ace-hero-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; line-height: 1.5; margin-bottom: 24px; }
.ace-hero-breadcrumb a { color: rgb(var(--warm-paper)); text-decoration: underline; text-underline-offset: 3px; }
.ace-hero-breadcrumb span { color: rgb(var(--warm-paper)); }
.ace-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.ace-hero-actions a { display: inline-flex; gap: 8px; align-items: center; justify-content: center; min-height: 44px; font-size: 12px; line-height: 1.35; color: rgb(var(--warm-paper)); text-decoration: underline; text-underline-offset: 4px; }
.ace-hero-actions a:first-child { padding: 12px 20px; border-radius: 999px; color: rgb(var(--deep-ink)); background: rgb(var(--warm-paper)); text-decoration: none; }
.ace-hero-actions .material-symbols-outlined { font-size: 18px; }
.ace-hero-credit { position: absolute; right: 24px; bottom: 16px; max-width: calc(100% - 48px); padding: 5px 8px; font: 11px/1.4 'DM Sans', sans-serif; color: rgb(var(--warm-paper)); background: rgb(var(--deep-ink)/.92); }
.ace-hero-credit a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ace-photo-credits { max-width: 1280px; margin: 24px auto 0; padding-inline: 32px; font-size: 12px; color: rgb(var(--secondary)); }
.ace-photo-credits a { text-decoration: underline; text-underline-offset: 3px; }
.ace-page-hero[data-page-story="dubai"] { --hero-focus: 50% 20%; --hero-mobile-focus: 38% 40%; }
.ace-page-hero[data-page-story="istanbul"] { --hero-mobile-focus: 60% 50%; }
.ace-page-hero--home { min-height: 520px; height: auto; }
.ace-page-hero--home h1 { font-size: 72px; max-width: none; }
.ace-page-hero--contact { min-height: 440px; }
.ace-page-hero--article { min-height: 430px; }
.ace-page-hero--article h1 { font-size: 42px; }
.ace-article-meta { margin-top: 20px; font: 12px/1.6 'DM Sans', sans-serif; }
.ace-article-meta a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ace-page-hero :is(a,button):focus-visible { outline: 3px solid rgb(var(--warm-paper)); outline-offset: 5px; }
.ace-page-hero .ace-hero-actions a:first-child:focus-visible { outline-color: rgb(var(--terracotta)); }

/* Scroll content remains present before JS and on fast traversal. */
.timeline-line > div { opacity: 1 !important; transform: none !important; transition: none !important; }
.timeline-line .tl-svg { display: none; }
.timeline-line > div > .absolute { display: none; }
.timeline-line > div { border-bottom: 1px solid rgb(var(--rule)); padding-bottom: 48px; margin-bottom: 48px; }
.timeline-line > div:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.timeline-line img { box-shadow: none; border-radius: 0; }
.timeline-line .text-right { text-align: left; }
.ace-story-caption { margin-top: 8px; font-size: 12px; line-height: 1.6; color: rgb(var(--secondary)); }
.ace-values-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.ace-values-list > div { border: 0; border-top: 1px solid rgb(var(--rule)); border-radius: 0; box-shadow: none; padding: 24px 0 0; background: transparent; transform: none; }
.ace-values-list .ace-spot::before { display: none; }
.ace-reading-list { display: grid; gap: 0; }
.ace-reading-list a { display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: center; padding: 20px 0; border-bottom: 1px solid rgb(var(--rule)); color: rgb(var(--ink)); }
.ace-reading-list img { width: 120px; height: 90px; object-fit: cover; }
.ace-reading-list h4 { font: 24px/1.2 'Instrument Serif', serif; }
.ace-reading-list p { color: rgb(var(--secondary)); font-size: 14px; margin-top: 8px; }
.ace-region-body { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.ace-region-body h2 { font: 36px/1.15 'Instrument Serif', serif; color: rgb(var(--ink)); margin-bottom: 24px; }
.ace-region-body p { font-size: 16px; line-height: 1.7; color: rgb(var(--secondary)); margin-bottom: 20px; }
.ace-region-body dl > div { display: grid; grid-template-columns: 110px 1fr; gap: 16px; border-top: 1px solid rgb(var(--rule)); padding-block: 18px; }
.ace-region-body dt { color: rgb(var(--secondary)); font-size: 13px; }
.ace-region-body dd { color: rgb(var(--ink)); font-size: 15px; line-height: 1.6; }
.ace-region-body a { text-underline-offset: 4px; text-decoration: underline; }
.ace-full-close { background: rgb(var(--deep-ink)); border-radius: 0; color: rgb(var(--warm-paper)); }
.ace-full-close > div { background: transparent !important; border: 0; border-radius: 0; }
.ace-topic-index { display: flex; flex-wrap: wrap; gap: 12px 28px; border-block: 1px solid rgb(var(--rule)); padding-block: 20px; }
.ace-topic-index > a { color: rgb(var(--ink)); min-height: 44px; display: inline-flex; align-items: center; gap: 8px; text-decoration: underline; text-underline-offset: 5px; }
.ace-globe-wrap .ace-globe-fallback { background: none; border-radius: 0; display: grid; place-items: center; }
.ace-globe-fallback img { display: block; width: 100%; height: auto; }
.ace-globe-fallback[hidden] { display: none !important; }
.ace-globe-stage { position: absolute; inset: 0; text-align: left; }
.ace-globe-stage div:has(> .ace-globe-label) { left: 0; }
.ace-globe-label { padding: 2px 4px; background: rgb(var(--deep-ink)/.9); color: rgb(var(--warm-paper)); font: 12px/1.3 'DM Sans', sans-serif; white-space: nowrap; pointer-events: none; }
.ace-globe-label--active { font-weight: 600; border-bottom: 2px solid rgb(var(--terracotta)); }
.ace-globe-label[data-city="Istanbul"] { margin-top: -8px; }
.ace-location-globe-controls { height: 60px; display: flex; justify-content: center; align-items: end; color: rgb(var(--warm-paper)); }
.ace-location-globe-controls .ace-icon-button { color: rgb(var(--warm-paper)); border-color: rgb(var(--warm-paper)/.45); }
.ace-topics-band { padding-block: 24px; }
.ace-articles-band { padding-top: 32px; }
.ace-type-scale { overflow-x: auto; }
.ace-type-scale > table { min-width: 720px !important; table-layout: auto; }
.ace-type-scale :is(th,td) { overflow-wrap: normal; word-break: normal; }
.ace-type-scale:focus-visible { outline: 2px solid rgb(var(--terracotta)); outline-offset: 4px; }
.ace-reading-page .ace-tablewrap > table { min-width: 640px !important; }
.ace-reading-page .ace-tablewrap :is(th,td) { overflow-wrap: normal; word-break: normal; }

@media (min-width: 761px) {
  .ace-page-hero--architecture { min-height: min(clamp(560px, 38vw, 730px), calc(100svh - 220px)); }
  .ace-page-hero[data-page-story="dubai"] .ace-hero-copy { margin-left: auto; }
  .ace-page-hero[data-page-story="dubai"]::before { background: linear-gradient(270deg, rgb(var(--deep-ink)) 0%, rgb(var(--deep-ink)/.97) 27%, rgb(var(--deep-ink)/.9) 37%, transparent 63%); }
}
@media (min-width: 1800px) {
  .ace-page-hero::before { background: linear-gradient(90deg, rgb(var(--deep-ink)) 0%, rgb(var(--deep-ink)/.97) 32%, rgb(var(--deep-ink)/.9) 44%, transparent 68%); }
  .ace-page-hero[data-page-story="dubai"]::before { background: linear-gradient(270deg, rgb(var(--deep-ink)) 0%, rgb(var(--deep-ink)/.97) 32%, rgb(var(--deep-ink)/.9) 44%, transparent 68%); }
}
@media (max-width: 1023px) and (min-width: 761px) {
  .ace-hero-copy { width: 48%; }
  .ace-page-hero h1 { font-size: 46px; }
  .ace-page-hero::before { background: linear-gradient(90deg, rgb(var(--deep-ink)) 0%, rgb(var(--deep-ink)/.95) 40%, transparent 75%); }
  .ace-page-hero[data-page-story="dubai"]::before { background: linear-gradient(270deg, rgb(var(--deep-ink)) 0%, rgb(var(--deep-ink)/.95) 40%, transparent 75%); }
}
@media (max-width: 760px) {
  .ace-page-hero { --image-height: 230px; padding: calc(var(--image-height) - 8px) 0 34px; min-height: 0; display: block; }
  .ace-page-hero > .ace-hero-image { height: calc(var(--image-height) + 40px); object-position: var(--hero-mobile-focus, 70% 50%); }
  .ace-page-hero::before { height: calc(var(--image-height) + 42px); background: linear-gradient(180deg, transparent 0%, transparent 56%, rgb(var(--deep-ink)) 86%); }
  .ace-hero-shell { padding-inline: 24px; }
  .ace-hero-copy { width: 100%; max-width: none; }
  .ace-page-hero h1 { font-size: 40px; line-height: 1.05; margin-bottom: 14px; }
  .ace-page-hero--home h1 { font-size: 48px; }
  .ace-page-hero--article h1 { font-size: 36px; }
  .ace-hero-breadcrumb { margin-bottom: 12px; }
  .ace-page-hero p { font-size: 15px; line-height: 1.55; margin-bottom: 16px; }
  .ace-hero-actions { gap: 4px 16px; }
  .ace-hero-actions a { font-size: 12px; }
  .ace-hero-credit { top: 12px; bottom: auto; right: 12px; font-size: 10px; max-width: calc(100% - 24px); }
  .ace-values-list, .ace-region-body { grid-template-columns: 1fr; gap: 28px; }
  .ace-region-body h2 { font-size: 30px; }
  .ace-region-body dl > div { grid-template-columns: 90px 1fr; }
  .ace-reading-list a { grid-template-columns: 88px 1fr; gap: 16px; }
  .ace-reading-list img { width: 88px; height: 88px; }
  .ace-reading-list h4 { font-size: 22px; }
}
@media (max-width: 760px) and (max-height: 720px) {
  .ace-page-hero { --image-height: 152px; padding-bottom: 24px; }
  .ace-page-hero h1 { font-size: 36px; }
  .ace-page-hero--home h1 { font-size: 44px; }
  .ace-page-hero--article h1 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .ace-page-hero *, .timeline-line * { animation: none !important; transition: none !important; }
}
