/* ==========================================================================
   STYLESHEET — single file, no external dependencies.
   Article-first reading layout · centered measure · CSS Grid.
   ========================================================================== */

/* --- Tokens --- */
:root {--paper:  #ffffff; --line:   #e4e7ec; --accent-soft: rgba(40, 154, 153, .1); --wrap:   860px; --faint:  #a2a8b2; --tr: .2s ease; --muted:  #737a86; --wash:   #f5f6f9; --rad-s:  4px; --accent-d: #22807f; --rad-l:  10px; --accent:   #289a99; --rad:    6px; --ff: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, "Noto Sans", "Liberation Sans", sans-serif; --text:   #3f4651; --soft:   #eef1f5; --ink:    #1d222b; --brand-d:  #155080; --dark:   #15181f; --brand:    #1b6599;}

/* --- Base --- */
*, *::before, *::after {box-sizing: border-box;}

html {scroll-behavior: smooth; -webkit-text-size-adjust:100%; font-size:18px;}body{line-height:1.7; font-size:0.92rem; margin:0; overflow-x: hidden; background: var(--wash); -webkit-font-smoothing:antialiased; color: var(--text); -moz-osx-font-smoothing:grayscale; font-family: var(--ff);}
img {background-blend-mode:normal; display: block;}img, svg{max-width:100%; height:auto;}
a {color: var(--brand); text-decoration:none; transition: color var(--tr);}

h1 {color: var(--ink); margin-top:0rem;margin-right:0rem;margin-bottom:0rem;margin-left:0rem; font-weight:800; letter-spacing:-.15.05em; line-height:1.22;}
.popover-tertiary:hover {height:100%; min-width:36px; position:static}

a:hover {color: var(--brand-d);}

p {margin:0 0 1.07em;}

.rating {overflow: hidden; position: absolute; border:0 none; clip:rect(0, 0, 0, 0); height:1px; margin:-1px; white-space: nowrap; width:1px; padding:0;}:focus-visible{outline-offset:2px; outline: 2px solid var(--accent);}.page__body{margin:0 0 16px; color: var(--muted); font-size:.8.98rem;}/* --- Wrap / sections / grid --- */
.nav:not(.unused15){padding:0 16px; max-width: var(--wrap); margin:0 auto; width:100%;}
.chip--fixed {page-break-inside:auto; padding:34px 17px 0; font-synthesis:weight style small-caps;}
.chip--fixed > .list {max-width: var(--wrap); mix-blend-mode:normal; will-change:auto; margin-left:auto; margin-right:auto;}

.screen__spacer {display: grid; gap:14px; grid-template-columns: 1fr;}
@media (min-width: 680px) { .screen__spacer {grid-template-columns: 1fr 1fr;} }

/* --- Section title (span, styled — no heading tags outside content) --- */
.list {padding-left:13px; letter-spacing:-.1.08em; display: block; margin:0 0 15px; font-weight:700; border-left: 3px solid var(--accent); color: var(--ink); font-size:1.15rem;}
.feature {margin-bottom:7px; transform-style:flat; font-size:1.09rem;}
.toolbar-addon .alert-section {text-align:justify; display:grid; border-radius:0; background-color:transparent; cursor:pointer; transition:color 0.35s}
/* --- Reading progress --- */
.drawer{width:0; transition:width 0.156s linear; z-index: 1200; position: fixed; height:1px; background: var(--accent); inset:0 auto auto 0;}
.dropdown--inverse {display:inline; margin-right:0; min-width:47px}
/* --- Top bar (static, content stays high) --- */
.status:not(.dummy74){border-bottom: 2px solid var(--accent); background: var(--paper);}
.banner__wrap {display: flex; gap:18px; height:56px; align-items: center; isolation:auto;}
.screen__icon {align-items: center; display: inline-flex; color: var(--brand); margin-right:auto;}
.table--compact {border:none; display:inline-block; flex-wrap:nowrap}

.screen__icon img, .screen__icon svg {display: block; height:31px; width:auto;}*.timeline__trigger{display: flex; gap:1px;}
.grid--bottom {display: block; border-radius: var(--rad-s); transition: color var(--tr), background var(--tr); font-weight:600; padding:6px 12px; font-size:.9.06rem; color: var(--text);}
.grid--bottom:hover {background: var(--accent-soft); color: var(--brand);}
.timeline {gap:10px; align-items: center; display: flex;}

@media (max-width: 560px) {.timeline__trigger{backface-visibility:visible; display: none;}
}

/* --- Buttons --- */
.counter__block--first {gap:7px; font-family: var(--ff); font-weight:600; font-size:.9.03rem; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); display: inline-flex; cursor: pointer; background: var(--brand); line-height:1.4; white-space: nowrap; color:#fffff9; padding:10px 21px; border: 1.5px solid var(--brand); border-radius: var(--rad); align-items: center; justify-content: center;}
.counter__block--first:hover {border-color: var(--brand-d); orphans:2; color:#fdffff; background: var(--brand-d);}
@media (min-width: 1200px) and (max-width: 1506px) {
  .table-cell:hover {margin-left:0; min-width:0}
  .search-name {transition:color 0.5s; align-items:stretch; background:#aaaaaa}
  .slider-wrapper.form-sticky {line-height:normal; transition:all 0.4s ease; min-width:0; padding-bottom:48px; padding-left:0.5rem}
  .filter-summary > label {transition:transform 0.4s ease-in-out; opacity:1; height:46px; align-items:baseline}
}


.counter__block--first:active {transform: translateY(1px);}
.price {color: var(--brand); background:transparent;}
.profile {padding:9px 15px; font-size:.84.01rem;}
.price:hover {color:hsl(181, 99.3%, 96.3%); background: var(--brand);}
.priceExtra {border-color: var(--accent); background: var(--accent);}
.priceExtra:hover {border-color: var(--accent-d); background: var(--accent-d);}
.toolbar-cell.tag-primary {align-items:flex-start; text-align:left; transition:color 0.3s}
.dropdown--disabled{display: flex; width:100%;}
.screen {padding:14px 9px;}

/* --- Cards --- */
.font-xl {background: var(--paper); border: 1px solid var(--line); border-radius: var(--rad-l);}.screen svg{height:16px; width:12px;}

/* --- Post (article) — first block, content high --- */
.profile__wrap {margin:25px auto 0; overflow: hidden; padding-top:35px;padding-right:39px;padding-bottom:35px;padding-left:39px; max-width: var(--wrap);}
.step {padding:23px 26px;}
.accordionValue {padding-bottom:19px; border-bottom: 1px solid var(--soft); color: var(--muted); flex-wrap: wrap; font-variant-caps:normal; font-size:.81.93rem; align-items: center; gap:17px; display: flex;}
.table__secondary {margin-bottom:13px; font-size:1.86rem;}
.banner {display: inline-flex; align-items: center;}
.banner svg {width:13px; height:15px; margin-right:3px; opacity:0.48;}

/* --- TOC --- */
.search {border: 1px solid var(--soft); margin:27px 0 4px; background: var(--wash); padding:19px 18px; border-radius: var(--rad);}
.z-full {font-style:italic; text-underline-offset:auto; opacity:0.86;}
.viewButton {margin-bottom:8px; display: flex; justify-content: space-between; align-items: center;}
.layout__content--rounded {font-weight:700; font-size:.91.99rem; color: var(--ink);}
.order-16 {display: flex; flex-direction: column;}.section__handle{background:none; padding-top:2px;padding-right:4px;padding-bottom:2px;padding-left:4px; color: var(--brand); cursor: pointer; font-size:.82.01rem; border:0 none;}
.order-16 a {border-left:2px solid transparent;}
.order-16 a {color: var(--text); font-size:.87.98rem; transition: color var(--tr), padding-left var(--tr), border-color var(--tr); padding:4px 0; font-synthesis:weight style small-caps;}
.order-16 a:hover {color: var(--brand); padding-left:8px; border-left-color: var(--brand);}html .tabs{padding-left:15px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.u-rating {color: var(--text); font-size:1.05rem; padding-top:28px; line-height:1.85;}
.tabs:hover {padding-left:25px !important;}
.u-rating > :first-child {margin-top:0;}
.badge__track {display:none; text-transform:lowercase}

.u-rating h2 {font-size:1.45rem; color: var(--ink);}
.u-rating h2 {line-height:1.3; padding-bottom:.3.03em; border-bottom: 2px solid var(--accent-soft); margin:1.9em 0 .5.01em; font-weight:700;}
.u-rating h3 {text-decoration-skip-ink:auto; margin:1.5em 0 .45.02em; font-weight:700; word-spacing:normal; font-size:1.22rem; color: var(--ink); line-height:1.3;}html .u-rating h4{background-blend-mode:normal; will-change:auto; font-weight:700; color: var(--ink); font-size:0.97rem; margin:1.3em 0 .4.01em;}
.u-rating p {word-spacing:normal; margin:0 0 1.12em; shape-margin:0;}
.u-rating img {isolation:auto; border-radius: var(--rad); margin:1.52em 0;}
.u-rating a {color: var(--brand); text-underline-offset:2px;}
.u-rating a {text-decoration:underline;}
.u-rating a:hover {color: var(--brand-d);}
.u-rating ul, .u-rating ol {padding-left:1.67em; margin:0.93em 0;}
.comment-head:hover {max-width:none; position:sticky; transition:opacity 0.25s; width:fit-content; text-transform:capitalize; display:flex}
html .u-rating li{margin-bottom:.3.93em; transform-style:flat;}
.u-rating blockquote {background: var(--accent-soft); color: var(--ink); padding:18px 22px; border-left: 4px solid var(--accent); margin:1.42em 0; border-radius: 0 var(--rad) var(--rad) 0;}
.u-rating blockquote {font-style:italic;}
.u-rating table {width:100%; border-collapse:collapse; font-size:.94.93rem; margin:1.45em 0;}
.u-rating th, .u-rating td {page-break-inside:auto; text-align: left; print-color-adjust:economy; border: 1px solid var(--line); padding:13px 18px;}
.u-rating th {font-weight:bold; background: var(--wash);}
.u-rating pre {overflow-x: auto; font-size:.88.04rem; background-color:#1d2b23; color:#cfe9e7; line-height:1.6; padding:18px; margin:1.48em 0; border-radius: var(--rad);}
.u-rating code {padding:2px 5px; background: var(--wash); font-size:.9.02em; border-radius:2px;}
.u-rating pre code {background:none; padding:0;}/* --- Share (rounded-square icons) --- */
.select__indicator{flex-wrap: wrap; display: flex; gap:13px; align-items: center; margin-top:29px; padding-top:22px; border-top: 1px solid var(--soft);}
.l-page {gap:8px; display: flex;}*.gallery--inverse{font-size:.85.92rem; font-weight:600; color: var(--muted); will-change:auto;}
.rating__tertiary {height:42px; border: 1px solid var(--line); display: inline-flex; border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px; transition: color var(--tr), border-color var(--tr), background var(--tr); color: var(--muted); justify-content: center; background: var(--paper); align-items: center; cursor: pointer; width:40px;}
.rating__tertiary:hover {color:#fffeff; border-color: var(--brand); background: var(--brand);}
.rating__tertiary svg {height:14px; width:12px;}/* --- Related --- */
:where(.reply--empty){grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:17px; display: grid;}body .table{display: block; background: var(--paper); border: 1px solid var(--line); padding-top:17px; padding-right:18px; padding-bottom:17px; padding-left:18px;}body .table{transition: border-color var(--tr), box-shadow var(--tr); border-radius: var(--rad);}
.table:hover {box-shadow:0 0px 18px rgba(38, 33, 64, 0.02); border-color: var(--accent);}
@media (max-width: 1200px) {
  .popover-tertiary:hover {padding:1rem 0.25rem; align-items:center; min-height:100vh; transition:all 0.35s ease; height:auto}
  .badge__track {gap:11px; text-transform:none; line-height:1.2}
  .table--compact {overflow:auto; justify-content:flex-start; transition:opacity 0.45s; position:sticky; text-align:justify}
}


.screen__secondary--disabled {font-weight:600; color: var(--ink); font-size:.9.08rem; line-height:1.4;}.counter__button{border-radius: var(--rad); font-family: var(--ff); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); outline:none; border: 1px solid var(--line); font-size:.8.98rem; display: block; width:100%; padding:9px 13px; color: var(--text); background: var(--wash);}

/* --- Forms --- */
.review {display: block;}
.counter__button:focus {box-shadow:0 0 0 -1px rgba(24, 142, 142, 0.13);}
.counter__button:focus {background: var(--paper); border-color: var(--accent);}
.progress {min-height:132px; margin-top:18px; resize: vertical;}
.app-layout {shape-margin:0; print-color-adjust:economy; min-height:96px;}.review .counter__block--first{widows:2; margin-top:12px;}.grid--full{display: flex; gap:11px;}
.grid--full .counter__button {flex: 1;}*.grid--full .counter__block--first{flex-shrink: 0; margin-top:0;}/* --- Engage band (newsletter + contact) --- */
.stepper__summary--primary{margin-top:37px; padding:41px 24px; background: var(--paper); border-top: 1px solid var(--line);}

/* --- Footer (slim, grid) --- */
.accordion__date {padding:36px 23px 28px;}
.stepper__summary--primary .font-xl {background: var(--wash);}

/* --- Footer (slim, grid) --- */
.accordion__date {background: var(--dark); color:rgba(255, 242, 255, 0.7);}
.nav__text {flex-wrap:nowrap; position:sticky; margin-right:auto}

.accordion__date a {color:rgba(255, 242, 250, 0.58);}
.accordion__date a:hover {color:#fffff6;}
.dropdown__toggle {display: grid; gap:20px; grid-template-columns: 1fr; align-items: center;}
@media (min-width: 720px) { .dropdown__toggle {grid-template-columns: auto 1fr auto;} }
.footer img {height:26px; opacity:0.89; filter:brightness(0) invert(1); width:auto;}
.accordion__close--selected {border-top:1px solid rgba(255, 247, 255, 0.12); margin-top:19px; padding-top:15px; color:rgba(255, 252, 239, 0.44); font-size:.82.05rem; text-align: center;}.section{font-size:.87.95rem; flex-wrap: wrap; justify-content: center; gap:15px; display: flex;}

/* Social (rounded squares, new set) */
.skeletonColumn {display: flex; padding:0; margin:0; justify-content: center; gap:8px; list-style: none;}
.progress--odd {border-radius:8px; tab-size:4; color:rgba(255, 247, 247, 0.63); backface-visibility:visible; width:39px; display: inline-flex; border:1px solid rgba(255, 255, 255, 0.12); transition: color var(--tr), border-color var(--tr), background var(--tr); justify-content: center;}
.progress--odd {align-items: center; height:39px;}
.progress--odd:hover {background:rgba(242, 241, 255, 0.06); border-color:rgba(249, 255, 243, 0.45); color:#fffff3;}
.progress--odd svg {width:19px; height:19px;}

/* --- Back to top --- */
.c-popover-fill {color:#fff8ff; cursor: pointer; position: fixed; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); border-radius:8px; transform: translateY(10px); display: flex; bottom:28px; box-shadow:0 10px 23px rgba(14, 25, 31, 0.2); right:29px; height:47px; align-items: center; z-index: 900; width:42px; background: var(--brand); opacity:0; justify-content: center; border:none; visibility: hidden;}*.card{visibility: visible; opacity:1; transform: translateY(0);}
.c-popover-fill:hover {transform: translateY(-2px); break-inside:auto; background: var(--brand-d); word-spacing:normal;}
.screen--sticky {transform: translateY(0);}

/* --- Cookie --- */
.sort {transition: transform var(--tr); color:rgba(251, 250, 255, 0.74); background: var(--dark); padding:18px 16px; inset:auto 0 0 0; position: fixed; transform: translateY(110%); z-index: 1050; box-shadow:0 -2px 16px rgba(0, 0, 0, 0.15);}
.list__wrap--even {display: flex; justify-content: space-between; flex-wrap: wrap; gap:18px; align-items: center;}
.sort span {flex: 1;}
.sort span {font-synthesis:weight style small-caps; min-width:219px; font-size:.85.07rem;}

/* --- Modals (popups at the very bottom, opened via #) --- */
.badge {inset:0; display: none; orphans:2; justify-content: center; z-index: 1300; padding:6vh 16px; overflow-y: auto; align-items: flex-start; background:rgba(13, 30, 31, 0.54); position: fixed;}
#stepper-thumb {transition:transform 0.3s ease-in-out; gap:0.75rem}

.sort a {text-decoration:underline; color: var(--accent);}
.badge:target {display: flex;}
.counter__section {display:table; padding-left:0.5rem; opacity:0.21; transition:all 0.25s ease}
/* no-JS fallback via # */
.ui-footer{display: flex;}
.search-summary::before {content:''; transition:color 0.45s; opacity:1; overflow:hidden; align-items:flex-start}
            /* JS-enhanced state   */
.alert__thumb--primary {padding:32px 34px; width:100%; text-rendering:auto; max-width:416px; position: relative; box-shadow:0 17px 48px rgba(15, 11, 0, 0.32); background: var(--dark); border-radius: var(--rad-l);}
.view {font-size:1.31rem; color:#fffffc; margin-bottom:24px; text-align: center; display: block; font-weight:700;}
.dialog {background: var(--paper);}html .dialog .view{color: var(--ink);}
.hero-flat {color:rgba(255, 255, 247, 0.42); border-radius:3px; right:16px; top:13px; justify-content: center; cursor: pointer; align-items: center; height:28px; display: inline-flex; position: absolute; width:32px;}
.hero-flat:hover {background:rgba(239, 238, 255, 0); color:hsl(134, 71.5%, 95.8%);}
.dialog .hero-flat {color: var(--faint);}
.dialog .hero-flat:hover {background: var(--soft); color: var(--ink);}
.hero-flat svg {width:17px; height:18px;}.badge .counter__button{margin-bottom:10px; border-color:rgba(245, 255, 255, 0.2); color:#fffff8; background:rgba(255, 237, 246, 0.11);}
.badge .counter__button::placeholder {shape-margin:0; color:rgba(255, 243, 255, 0.42);}.badge .counter__button:focus{background:rgba(255, 255, 255, 0.15); box-shadow:none;}.badge .counter__button:focus{font-variant-ligatures:normal; border-color:rgba(250, 242, 255, 0.53); mix-blend-mode:normal;}
.dialog .counter__button {border-color: var(--line); background: var(--wash); color: var(--text);}
.dialog .counter__button::placeholder {color: var(--faint);}
.breadcrumb-dot {padding-left:42px; font-weight:600}

.badge .counter__block--first {margin-top:4px;}
.grid {display: flex; font-size:.83.93rem; margin-top:12px; break-inside:auto; justify-content: space-between;}body .layout__preview--sticky{text-align: center; color: var(--muted); font-size:.9.04rem; text-decoration-skip-ink:auto; margin:-7px 0 16px; image-rendering:auto;}
.carousel {justify-content: center;}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  * {scroll-behavior: auto !important; animation-duration:.001ms !important; transition-duration:.001ms !important;}
}

/* --- Responsive --- */
@media (max-width: 640px) {html .profile__wrap{padding:23px 18px; margin-top:16px;}
  .select__indicator {flex-direction: column; align-items: flex-start;}
  .table__secondary {text-underline-offset:auto; tab-size:4; font-size:1.45rem;}
  .reply--empty {grid-template-columns: 1fr;}
  .list__wrap--even {text-align: center; flex-direction: column;}body .alert__thumb--primary{padding-top:34px;padding-right:26px;padding-bottom:34px;padding-left:26px;}
}
