/* ==========================================================================
   QRS 2024 — elegant typography layer (2026-10-25)
   Loaded last. The original theme CSS is untouched; remove this file's
   <link> to return to the 2024 look.
   Fonts: Inter (text, navigation, titles) + Cormorant Garamond (hero accent)
   ========================================================================== */

/* Self-hosted fonts (SIL Open Font License): Inter variable, Cormorant Garamond 500 italic */
@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url('../font/inter-latin-ext-wght-normal.woff2') format('woff2-variations'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: italic; font-display: swap; font-weight: 100 900; src: url('../font/inter-latin-ext-wght-italic.woff2') format('woff2-variations'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-display: swap; font-weight: 500; src: url('../font/cormorant-garamond-latin-ext-500-italic.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url('../font/inter-latin-wght-normal.woff2') format('woff2-variations'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Inter'; font-style: italic; font-display: swap; font-weight: 100 900; src: url('../font/inter-latin-wght-italic.woff2') format('woff2-variations'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-display: swap; font-weight: 500; src: url('../font/cormorant-garamond-latin-500-italic.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  --qrs-blue: #399bff;
  --qrs-pink: rgba(238, 113, 249, .9);
  --qrs-text: rgba(255, 255, 255, .86);
  --qrs-muted: rgba(255, 255, 255, .62);
  --qrs-line: rgba(255, 255, 255, .08);
  /* modern deep-ink palette (instead of pure black) */
  --qrs-bg: #0b0f17;
  --qrs-bg-alt: #10151f;
  --qrs-surface: #161c28;
  --qrs-surface-2: #1b2230;
  --qrs-sans: "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --qrs-serif: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
}

/* -- base ----------------------------------------------------------------- */
html body {
  font-family: var(--qrs-sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--qrs-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "cv11", "ss01";
}
html body h1, html body h2, html body h3, html body h4, html body h5,
html body p, html body li, html body td, html body th, html body a, html body em, html body span {
  font-family: inherit;
}
html body strong, html body b { font-weight: 600; }
html body em { font-style: italic; }
::selection { background: rgba(57, 155, 255, .35); color: #fff; }

/* -- section titles ------------------------------------------------------- */
html body h1.title {
  font-family: var(--qrs-sans);
  font-weight: 300;
  font-size: 40px;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin-bottom: 18px;
}
@media (max-width: 767px) { html body h1.title { font-size: 30px; } }

/* -- top bar ---------------------------------------------------------------- */
.header { background-color: rgba(0, 0, 0, .78); -webkit-backdrop-filter: saturate(140%) blur(10px); backdrop-filter: saturate(140%) blur(10px); border-bottom: 1px solid var(--qrs-line); }
.header .logo h2 { font-family: var(--qrs-sans); font-weight: 600; letter-spacing: -0.02em; }
.main-nav li { font-family: var(--qrs-sans); font-weight: 400; }

/* -- hero ----------------------------------------------------------------- */
.hero-content h3 {
  font-family: var(--qrs-serif);
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0;
  font-size: 46px;
}
html body h1.large {
  font-family: var(--qrs-sans);
  font-weight: 600;
  letter-spacing: -0.035em;
  font-size: 84px;
  line-height: 1;
}
.hero-content p.uppercase {
  font-family: var(--qrs-sans);
  font-weight: 500;
  font-size: 15px !important;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .9);
}
.hero-content a[href*="goturkiye"] span { letter-spacing: .3em; font-size: 12px; font-weight: 500; }
@media (max-width: 767px) {
  .hero-content h3 { font-size: 28px; }
  html body h1.large { font-size: 48px; }
  .hero-content p.uppercase { font-size: 12px !important; letter-spacing: .2em; }
}

/* -- body copy ------------------------------------------------------------ */
html body section p[style*="font-size: 15px"],
html body section p[style*="font-size: 16px"],
html body section p[style*="font-size:15px"],
html body section p[style*="font-size:16px"] { font-size: 15.5px !important; line-height: 1.75; }
html body section p[style*="font-size: 14px"],
html body section p[style*="font-size:14px"] { font-size: 14.5px !important; line-height: 1.7; }

/* -- about: date / location / speakers row -------------------------------- */
.block-info-1 span, .block-info-1 strong { letter-spacing: .02em; }

/* -- countries row -------------------------------------------------------- */
.country-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 980px; margin: 0 auto; padding: 0 16px; list-style: none; }
.country-chips li { border: 1px solid var(--qrs-line); border-radius: 999px; padding: 5px 13px; font-size: 13px; color: var(--qrs-muted); line-height: 1.4; }
.country-chips li b { color: #fff; font-weight: 600; margin-left: 6px; }

/* -- programme ------------------------------------------------------------ */
#schedule .block-tabs li { font-size: 14px; letter-spacing: .01em; }
#schedule .block-tabs li strong, #schedule .block-date strong { font-weight: 600; font-size: 16px; }
#schedule .block-date { letter-spacing: .01em; }
#schedule .time { font-variant-numeric: tabular-nums; font-weight: 500; letter-spacing: .02em; color: #fff; }
#schedule .topic { font-size: 14.5px; line-height: 1.6; }
#schedule .topic em { font-size: 14.5px !important; color: var(--qrs-text); }
#schedule .block-text p,
#schedule .block-text p[style] { font-size: 13.5px !important; line-height: 1.7 !important; color: var(--qrs-muted); text-align: left !important; }

/* -- links ------------------------------------------------------------------ */
html body a.gradient-text, html body .gradient-text { font-weight: inherit; }

/* -- footer ----------------------------------------------------------------- */
.block-legal li { font-size: 13px; letter-spacing: .02em; }

/* -- titles: keep the original wording (no auto-capitalisation) ----------- */
html body h1.title { text-transform: none; }

/* -- lists (participants, previous QRS) centred in a readable column ------ */
html body .numbered-list { max-width: 820px; margin: 0 auto !important; padding-left: 44px !important; }
html body .numbered-list li { margin-left: 0 !important; font-size: 14.5px !important; line-height: 1.6; margin-bottom: 12px; }
html body .numbered-list li::marker { color: var(--qrs-muted); font-variant-numeric: tabular-nums; }

/* -- book of abstracts cover ---------------------------------------------- */
.book-cover { margin: 8px auto 0; max-width: 300px; }
.book-cover img { display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 24px 60px rgba(0, 0, 0, .6), 0 0 0 1px var(--qrs-line); }
.book-cover figcaption { margin-top: 16px; font-size: 13px; color: var(--qrs-muted); }

/* -- organizers photo ------------------------------------------------------- */
#organizers img[alt="murat niyazi"] { border-radius: 10px; box-shadow: 0 20px 50px rgba(0, 0, 0, .55); }


/* ==========================================================================
   Colour: deep ink instead of pure black (2026-10-25)
   ========================================================================== */
html, html body, .wrapper, .loader { background: var(--qrs-bg) !important; }
html body section { background-color: var(--qrs-bg); }
/* alternate sections for rhythm */
html body #speakers, html body #previous, html body #schedule,
html body #accom, html body #posters { background-color: var(--qrs-bg-alt); }
html body section.brd-bottom { border-bottom-color: var(--qrs-line); }
/* soft brand glow behind the intro text and section titles */
html body #about { background-image: radial-gradient(60% 50% at 50% 0%, rgba(57, 155, 255, .10), transparent 70%); }
html body #speakers { background-image: radial-gradient(50% 30% at 50% 0%, rgba(238, 113, 249, .07), transparent 70%); }
html body #sponsors { background-image: radial-gradient(50% 35% at 50% 0%, rgba(57, 155, 255, .07), transparent 70%); }

/* photo overlays fade into the page colour, not into black */
html body .overlay:before {
  background: linear-gradient(to bottom, rgba(11, 15, 23, .15) 0%, rgba(11, 15, 23, .45) 35%, var(--qrs-bg) 100%) !important;
}
html body .overlay.soft:before {
  background: linear-gradient(to bottom, rgba(11, 15, 23, 0) 0%, rgba(11, 15, 23, .25) 50%, var(--qrs-bg) 100%) !important;
}
html body section.hero { background: var(--qrs-bg); }

/* surfaces */
#speakers .block-speaker .block-img { background: var(--qrs-surface) !important; box-shadow: 0 0 0 1px var(--qrs-line); transition: transform .25s ease, box-shadow .25s ease; }
#speakers .block-speaker .block-img:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(255,255,255,.14), 0 16px 40px rgba(0,0,0,.35); }
#schedule .block-tabs li { border-bottom-color: var(--qrs-line); }
#schedule .block-tabs li.active, #schedule .block-tab > li .block-date { background: var(--qrs-surface-2) !important; }
#schedule .block-tabs li.active:before { border-bottom-color: var(--qrs-surface-2) !important; }
#schedule .block-tabs, #schedule .block-tab > li { background: var(--qrs-surface); border-radius: 10px; }
#schedule .block-detail { border-bottom-color: var(--qrs-line) !important; }
.country-chips li { background: rgba(255,255,255,.03); }
.header { background-color: rgba(11, 15, 23, .78) !important; }
@media (max-width: 991px) { .main-nav ul { background: rgba(11, 15, 23, .97) !important; } }
#schedule .block-tabs, #schedule .block-tab { border-color: var(--qrs-line) !important; }
#schedule .block-tab .block-detail:hover { background: var(--qrs-surface-2) !important; }
html body .bg-dark { background: var(--qrs-bg-alt) !important; }

/* ==========================================================================
   Layout: use the width of modern screens, consistent rhythm (2026-10-25)
   ========================================================================== */

/* prose column: wider measure, larger text, no justified rivers */
@media (min-width: 768px) {
  html body .col-sm-8.col-sm-offset-2 { float: none; width: auto; max-width: 860px; margin-left: auto; margin-right: auto; }
}
html body section p[style*="justify"] { text-align: left !important; }
html body #about p, html body #venue p, html body #gala p, html body #lunch p,
html body #previous > .container p, html body #accom p, html body #registration p,
html body #posters p, html body #sponsors p.title-lead {
  font-size: 16.5px !important; line-height: 1.8 !important;
}
/* consistent vertical rhythm */
html body section.about, html body section.speakers, html body section.organizers,
html body section.schedule, html body section.sponser, html body section.gallery {
  padding-top: 96px !important; padding-bottom: 96px !important;
}
html body section#about { padding-top: 72px !important; }
html body section.gallery { padding-top: 80px !important; padding-bottom: 32px !important; }
html body .mb-100 { margin-bottom: 48px !important; }
html body .counter.parallax { padding-top: 140px !important; padding-bottom: 140px !important; }
/* lists: two columns on wide screens */
@media (min-width: 992px) {
  html body .numbered-list { max-width: 1080px; columns: 2; column-gap: 64px; }
  html body .numbered-list li { break-inside: avoid; }
}
/* full-bleed sections (the 2024 theme capped the page at 1600px) */
html body .wrapper { max-width: none; }
html body .header { max-width: none; }



/* ==========================================================================
   One grid for the whole page (2026-10-25)
   Every block lives between two invisible lines: the left edge of the
   "QRS 2024" logo and the right edge of the "After Conference" button.
   All containers (top bar included) share the same width, so the bootstrap
   container/row/col padding puts content exactly on those lines.
   ========================================================================== */
:root { --qrs-wrap: 1320px; }
@media (min-width: 1200px) {
  html body .container,
  html body .header > .container { width: min(var(--qrs-wrap), calc(100% - 48px)); max-width: none; }
}
/* inner width of a container = the space between the two lines */
#speakers .block-content { padding: 0 !important; margin-left: auto; margin-right: auto; width: calc(100% - 30px); max-width: none; }
@media (min-width: 768px)  { #speakers .block-content { width: 720px; } }
@media (min-width: 992px)  { #speakers .block-content { width: 940px; } }
@media (min-width: 1200px) { #speakers .block-content { width: calc(min(var(--qrs-wrap), calc(100% - 48px)) - 30px); } }
/* paragraphs placed directly in a .row (no column) get the column padding back */
html body .row > p { margin-left: 15px; margin-right: 15px; }
/* gallery strips: the enlarged photo grows inwards at both ends */
.block-gallery li:first-child { transform-origin: left bottom; }
.block-gallery li:last-child { transform-origin: right bottom; }
/* top bar must fit between the lines at every width */
@media (min-width: 1200px) and (max-width: 1439px) {
  .main-nav li { margin-left: 19px; }
  .main-nav li.nav-cta { margin-left: 22px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .main-nav li:first-child { display: none; }          /* "Home": the logo already links to the top */
  .main-nav li { margin-left: 13px; font-size: 12px; letter-spacing: 0; }
  .main-nav li.nav-cta { margin-left: 14px; }
  .main-nav li.nav-cta a.but { padding: 7px 12px; }
  .header .logo h2 { font-size: 20px; }
}
.header .row > [class*="col-md-10"] { padding-right: 15px; }
@media (min-width: 1200px) and (max-width: 1299px) {
  .main-nav li { margin-left: 14px; }
  .main-nav li.nav-cta { margin-left: 16px; }
}
/* lists that sit outside a .container: keep them between the lines too */
html body .numbered-list { width: calc(100% - 30px); box-sizing: border-box; }
@media (min-width: 768px)  { html body .numbered-list { width: 720px; } }
@media (min-width: 992px)  { html body .numbered-list { width: 940px; } }
@media (min-width: 1200px) { html body .numbered-list { width: calc(min(var(--qrs-wrap), calc(100% - 48px)) - 30px); max-width: 1080px; } }
html body .row > .block-sponsor { padding-left: 15px; padding-right: 15px; }
@media (max-width: 767px) {
  .block-gallery li:hover, .block-gallery li.active { transform: none !important; }
  .travel-grid, #sponsors .row.text-center:has(> [class*="col-"]) { margin-left: -8px; margin-right: -8px; }
}

/* ==========================================================================
   Text from line to line (2026-10-25): prose uses the full width between the
   two lines and is justified (with hyphenation) on tablet/desktop.
   Phones keep left alignment (justified text leaves gaps on narrow screens).
   ========================================================================== */
@media (min-width: 768px) {
  html body .col-sm-8.col-sm-offset-2 { max-width: none; width: auto; margin-left: 0; margin-right: 0; }
  html body .numbered-list { max-width: none !important; }
  html body section p,
  html body section p[style*="justify"],
  html body section p[style*="left"] {
    text-align: justify !important;
    text-align-last: left;
    -webkit-hyphens: auto; hyphens: auto;
    text-wrap: pretty;
  }
  /* short centred lines stay centred */
  html body section p[style*="text-align: center"],
  html body #registration .col-sm-8 > p:first-of-type,
  .book-cover figcaption, .travel-cap, .travel-links { text-align: center !important; text-align-last: center !important; }
  html body section p { font-size: 17px; }
}
@media (min-width: 768px) {
  html body #speakers .block-info-2 p, html body #schedule p, html body .block-info-1 p,
  html body .block-legal p, html body .poster-print__text p { text-align: left !important; }
  html body .poster-print__text p { text-align: justify !important; }
}

/* ==========================================================================
   Archive layout polish (2026-10-25)
   ========================================================================== */
/* hero: compact, no floating avatar */
.hero-content br { display: none; }
.hero-content h3 { margin-bottom: 18px; }
.hero-content p.uppercase { margin-bottom: 28px; }
a.but.hero-video {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 11px 22px; border-radius: 999px; font-size: 14px; font-weight: 500; letter-spacing: .02em;
  color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .28);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background .2s, border-color .2s;
}
a.but.hero-video:hover { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .5); color: #fff; }
.hero-video__play { width: 0; height: 0; border-left: 9px solid #fff; border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.hero-content img[alt="qrslogo"] { display: block; margin: 40px auto 14px; width: 96px; height: 96px; }
.hero-content a[href*="goturkiye"] { display: inline-block; margin-top: 0; }

/* intro: real paragraphs */
#about .col-sm-8 > p { margin: 0 0 18px !important; }

/* venue / gala / lunch: no camera icons, centred titles like every other section */
#venue svg, #gala svg, #lunch svg { display: none; }
#venue h1.title, #gala h1.title, #lunch h1.title { text-align: center; }

/* photo strips → calm grid (lightbox unchanged) */
.block-gallery { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.block-gallery li, .block-gallery li[class*="col-"] { width: auto !important; float: none !important; padding: 0 !important; opacity: 1 !important; transform: none !important; }
.block-gallery li .block-img { height: auto !important; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; }
.block-gallery li .background-img { transition: transform .4s ease, filter .4s ease; filter: saturate(.9) brightness(.92); }
.block-gallery li:hover .background-img { transform: scale(1.04); filter: none; }
@media (max-width: 991px) { .block-gallery { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 479px) { .block-gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

/* participant information: collapsible record */
.pinfo-lead { color: var(--qrs-muted); margin-bottom: 28px !important; }
details.pinfo { border: 1px solid var(--qrs-line); border-radius: 12px; background: var(--qrs-surface); margin: 0 0 14px; overflow: hidden; }
details.pinfo > summary {
  list-style: none; cursor: pointer; padding: 20px 24px; font-size: 18px; font-weight: 500; color: #fff;
  display: flex; justify-content: space-between; align-items: center;
}
details.pinfo > summary::-webkit-details-marker { display: none; }
details.pinfo > summary::after { content: "+"; font-size: 22px; font-weight: 300; color: var(--qrs-muted); transition: transform .2s; }
details.pinfo[open] > summary::after { transform: rotate(45deg); }
details.pinfo > summary:hover { background: var(--qrs-surface-2); }
details.pinfo > section { padding: 4px 24px 28px !important; background: transparent !important; border: 0 !important; }
details.pinfo .container { width: auto !important; max-width: none !important; padding: 0 !important; }
details.pinfo .row { margin-left: 0; margin-right: 0; }
details.pinfo .col-sm-8.col-sm-offset-2, details.pinfo [class*="col-sm-"] { padding-left: 0; padding-right: 0; }
details.pinfo .mb-100 { margin-bottom: 0 !important; }
html body section#participant-info { background-color: var(--qrs-bg-alt); }

/* footer */
.site-footer { background: #080b11; border-top: 1px solid var(--qrs-line); padding: 56px 0 28px; color: var(--qrs-muted); font-size: 14px; }
.site-footer .sf-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
.site-footer .sf-logo { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-weight: 600; font-size: 18px; letter-spacing: -0.01em; }
.site-footer .sf-logo img { border-radius: 50%; }
.site-footer p { margin: 10px 0 0; line-height: 1.7; text-align: left !important; font-size: 14px !important; }
.site-footer a { color: rgba(255, 255, 255, .86); }
.site-footer a:hover { color: #fff; }
.site-footer .sf-h { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .5); }
.site-footer .sf-bottom { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--qrs-line); font-size: 12.5px; color: rgba(255, 255, 255, .45); }
@media (max-width: 767px) { .site-footer .sf-grid { grid-template-columns: 1fr 1fr; } .site-footer .sf-brand { grid-column: 1 / -1; } }
html body .hero-content p { text-align: center !important; text-align-last: center !important; }
details.pinfo .row > p { margin-left: 0; margin-right: 0; }
details.pinfo br + br, details.pinfo [class*="col-"] > br:first-child { display: none; }
details.pinfo [class*="col-"]:empty { display: none; }
details.pinfo > section > .container > .row:first-child { margin-top: 0; }
details.pinfo .travel-grid { margin-top: 18px; }

/* ==========================================================================
   Editorial layout (2026-10-25)
   Section headers sit on the left line: small numbered eyebrow + title.
   Sub-titles are smaller. Two-column "split" modules for text + media.
   ========================================================================== */
.eyebrow {
  font-size: 12px !important; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255, 255, 255, .55); margin: 0 0 14px !important; text-align: left !important; text-align-last: left !important;
}
html body section h1.title { text-align: left; font-size: 46px; margin-bottom: 26px; }
html body section h1.title.title--sub { font-size: 28px; font-weight: 400; margin: 56px 0 18px; letter-spacing: -0.01em; }
html body section h1.title + br, html body section h1.title > br { display: none; }
@media (max-width: 767px) {
  html body section h1.title { font-size: 32px; }
  html body section h1.title.title--sub { font-size: 22px; margin-top: 40px; }
}
/* header columns that were centred in 2024 → left line */
html body section [class*="col-"]:has(> h1.title),
html body section [class*="col-"]:has(> .eyebrow) { text-align: left; }
html body #speakers .row > div:has(> h1.title) { text-align: left; }
html body #venue h1.title, html body #gala h1.title, html body #lunch h1.title { text-align: left; }
.country-chips { justify-content: flex-start; padding: 0; max-width: none; margin: 0 0 36px; }
/* participant-info header */
#participant-info .pinfo-lead { text-align: left !important; text-align-last: left !important; }

/* ---- about: lead + body, then a facts strip ---- */
.about-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; align-items: start; }
.about-lead .lead {
  font-size: 27px !important; line-height: 1.45 !important; font-weight: 300; color: #fff;
  letter-spacing: -0.01em; text-align: left !important; text-align-last: left !important; hyphens: manual !important; margin: 0;
}
.about-body p { margin: 0 0 18px; }
.facts { display: grid; grid-template-columns: repeat(4, 1fr); margin: 64px 0 0; border-top: 1px solid var(--qrs-line); border-bottom: 1px solid var(--qrs-line); }
.facts > div { padding: 24px 24px 24px 0; }
.facts > div + div { padding-left: 24px; border-left: 1px solid var(--qrs-line); }
.facts dt { font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .5); margin-bottom: 8px; }
.facts dd { margin: 0; font-size: 17px; line-height: 1.5; color: #fff; }
.facts dd a { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .25); }
.facts dd a:hover { border-bottom-color: #fff; }
.contact-line { margin: 22px 0 0; font-size: 14.5px !important; color: var(--qrs-muted); text-align: left !important; text-align-last: left !important; }
@media (max-width: 991px) { .about-grid { grid-template-columns: 1fr; gap: 28px; } .facts { grid-template-columns: 1fr 1fr; } .facts > div:nth-child(3) { padding-left: 0; border-left: 0; } .facts > div:nth-child(n+3) { border-top: 1px solid var(--qrs-line); } }
@media (max-width: 479px) { .about-lead .lead { font-size: 22px !important; } }

/* ---- split module (organizers, book, powerhouse) ---- */
.split { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; align-items: center; }
.split__media img { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 24px 60px rgba(0, 0, 0, .45); }
.split__text p { text-align: left !important; text-align-last: left !important; }
.split__text .org-line { font-size: 18px !important; line-height: 1.7; color: #fff; }
.split--book { grid-template-columns: 4fr 8fr; }
.split--book .book-cover { margin: 0; max-width: 320px; }
.split--logo { grid-template-columns: 7fr 5fr; }
.logo-tile { display: flex; align-items: center; justify-content: center; padding: 34px 28px; border-radius: 14px; background: rgba(255, 255, 255, .92); box-shadow: 0 0 0 1px var(--qrs-line); }
.logo-tile img { width: 100%; max-width: 380px; height: auto; box-shadow: none !important; border-radius: 0 !important; }
@media (max-width: 991px) { .split, .split--book, .split--logo { grid-template-columns: 1fr; gap: 32px; } .split--logo .split__media { order: 2; } }
#organizers .split__media img[alt*="Niyazi"] { border: 0 !important; }

/* ---- history: years ---- */
.numbered-list .yr { display: inline-block; min-width: 3.2em; font-weight: 600; color: #fff; font-variant-numeric: tabular-nums; }

/* ---- sponsors & partners headers on the left line ---- */
#sponsors .col-sm-12.mb-50 { margin-bottom: 8px !important; }
/* fixes after first editorial pass */
html body #about .about-lead p.lead { font-size: 27px !important; line-height: 1.45 !important; }
@media (max-width: 479px) { html body #about .about-lead p.lead { font-size: 22px !important; } }
html body #about .about-body p { font-size: 16.5px !important; }
html body #speakers .row > div:has(> h1.title) { padding-left: 15px; padding-right: 15px; }
html body #speakers h1.title[style] { text-align: left !important; }
.logo-tile { background: transparent; padding: 0; box-shadow: none; }
.logo-tile img { max-width: none; border-radius: 6px !important; }
#sponsors .block-sponsor img { width: 100% !important; }
#sponsors br { display: none; }
#sponsors .container + .container { margin-top: 24px; }
html body #about p.eyebrow, html body #speakers p.eyebrow, html body #schedule p.eyebrow, html body #book p.eyebrow,
html body #organizers p.eyebrow, html body #previous p.eyebrow, html body #sponsors p.eyebrow, html body #venue p.eyebrow,
html body #participant-info p.eyebrow { font-size: 12px !important; line-height: 1.4 !important; }
@media (max-width: 479px) { .facts dd { font-size: 15px; } .facts > div { padding: 18px 14px 18px 0; } .facts > div + div { padding-left: 14px; } }
