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

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

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

html {-moz-text-size-adjust:100%;font-size:20px; scroll-behavior: smooth; -webkit-text-size-adjust:100%;}
body {font-size:1rem; background: var(--wash); overflow-x: hidden; color: var(--text); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; line-height:1.7; margin:0; font-family: var(--ff);}
img, svg {height:auto; max-width:100%;}
img {display: block; font-variant-caps:normal;}a{color: var(--brand); transition: color var(--tr); text-decoration:none;}
a:hover {color: var(--brand-d);}h1{color: var(--ink); letter-spacing:-.15.05em; line-height:1.22; font-weight:800; margin:0px;}
:focus-visible {outline-offset:2px; outline: 2px solid var(--accent);}p{margin:0 0 1.17em;}

.widget--right {-moz-tab-size:4;margin:-1px; height:1px; tab-size:4; overflow: hidden; border:0em; position: absolute; break-inside:auto; white-space: nowrap; width:1px; clip:rect(0, 0, 0, 0); padding:0;}
.divider {transform-style:flat; font-size:.9.05rem; color: var(--muted); margin:0 0 11px;}

/* --- Wrap / sections / grid --- */
.rating--expanded {padding:0 21px; max-width: var(--wrap); margin:0 auto; width:100%;}
.l-table {padding:32px 22px 0; page-break-inside:auto; widows:2;}.modal--even{background-blend-mode:normal; gap:20px; display: grid; grid-template-columns: 1fr; text-underline-offset:auto;}
.status-separator .screen-area {justify-content:space-around; position:relative}
.l-table > .alert__link:not(.placeholder21){max-width: var(--wrap); margin-left:auto; margin-right:auto;}
@media (min-width: 680px) { .modal--even {grid-template-columns: 1fr 1fr;} }
.rating {margin-bottom:12px; font-size:0.95rem;}

/* --- Section title (span, styled — no heading tags outside content) --- */
.alert__link {border-left: 3px solid var(--accent); margin:0 0 16px; display: block; letter-spacing:-.1.07em; font-weight:bold; font-size:1.26rem; color: var(--ink); padding-left:12px;}/* --- Reading progress --- */
.c-form-fill{z-index: 1200; transition:width 0.11s linear; inset:0 auto auto 0; width:0; background: var(--accent); height:4px; position: fixed;}
.skeleton__input {align-items: center; gap:15px; display: flex; height:60px;}
.layout-region:not(:last-child) {font-size:1rem; padding-left:17px; padding-bottom:1.125rem}
/* --- Top bar (static, content stays high) --- */
.leading-screen:not(.void82){background: var(--paper); border-bottom: 2px solid var(--accent);}
.header-backdrop > input {margin-left:0; position:relative; cursor:default; padding-right:1.5rem; overflow:hidden; max-width:100%}

.section {display: inline-flex; margin-right:auto; align-items: center; color: var(--brand);}
.section img, .section svg {width:auto; display: block;}.media__handle{gap:4px; display: flex;}
.section img, .section svg {height:27px;}
.sidebar {border-radius: var(--rad-s); transition: color var(--tr), background var(--tr); font-size:.9.01rem; padding:5px 17px; font-weight:600; display: block; color: var(--text);}html .sidebar:hover{background: var(--accent-soft); color: var(--brand); perspective:none;}
.comment--left {flex-wrap:wrap; transition:color 0.15s; background:none; gap:0.5rem; position:sticky}

.select {display: flex; gap:5px;}
.select {align-items: center;}

@media (max-width: 560px) {body .media__handle{display: none;}
}/* --- Buttons --- */
:where(.alert__count--top){color:#ffffff; padding-top:14px;padding-right:21px;padding-bottom:14px;padding-left:21px; font-size:.8.98rem; background: var(--brand); gap:12px; border: 1.5px solid var(--brand); display: inline-flex; border-radius: var(--rad); line-height:1.4; justify-content: center; cursor: pointer; font-weight:600; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); white-space: nowrap; align-items: center; font-family: var(--ff);}
.alert__count--top:hover {background: var(--brand-d); border-color: var(--brand-d); color:hsl(79, 99.3%, 96.3%);}
.alert__count--top:active {transform: translateY(1px);}
.filter {padding:11px 14px; font-size:.84.08rem;}
.profile--alt {color: var(--brand); background:transparent;}.profile--alt:hover{background: var(--brand); color:rgb(255, 237, 255);}
.badge {image-rendering:auto; border-color: var(--accent); background: var(--accent);}
.badge:hover {background: var(--accent-d); border-color: var(--accent-d);}
.slider {width:100%; display: flex;}
.carousel__spacer--right {padding:9px 16px;}body .carousel__spacer--right svg{height:12px; width:18px;}/* --- Cards --- */
.tooltip{border: 1px solid var(--line); background: var(--paper); border-radius: var(--rad-l);}
.page--expanded {padding:19px 23px;}

/* --- Post (article) — first block, content high --- */
.accordion__title--narrow {margin:28px auto 0; overflow: hidden; padding-top:32px;padding-right:36px;padding-bottom:32px;padding-left:36px; max-width: var(--wrap);}
.o-entry-overlay {font-size:1.82rem; margin-bottom:13px;}
.post-time-dense {border-bottom: 1px solid var(--soft); color: var(--muted); font-size:.82.03rem; display: flex; flex-wrap: wrap; gap:10px; align-items: center; padding-bottom:20px;}
.hero__suffix {align-items: center; display: inline-flex;}
.hero__suffix svg {width:14px; opacity:0.54; margin-right:3px; height:16px;}body .u-post{font-style:italic; opacity:0.77;}/* --- TOC --- */
.alert__count:not(.skip40){border: 1px solid var(--soft); background: var(--wash); margin:22px 0 7px; padding:12px 18px; border-radius: var(--rad);}
.breadcrumbButton {font-size:.91.95rem; color: var(--ink); font-weight:bold;}
.sectionLabel {justify-content: space-between; align-items: center; margin-bottom:10px; display: flex;}
.col-xs {cursor: pointer; border:none; color: var(--brand); font-size:.82.04rem; padding:2px 9px; background:none;}
.step__value--bottom {flex-direction: column; display: flex;}
.step__value--bottom a {padding:6px 0; border-left:2px solid transparent; color: var(--text); font-size:.88.06rem; transition: color var(--tr), padding-left var(--tr), border-color var(--tr);}
.step__value--bottom a:hover {border-left-color: var(--brand); padding-left:4px; color: var(--brand);}
.search__label {padding-left:18px !important;}.search__label:hover{padding-left:22px !important;}/* --- Rich text (the only place with headings, coming from content) --- */
.form{padding-top:20px; line-height:1.85; font-variant-ligatures:normal; font-size:1rem; print-color-adjust:economy; color: var(--text);}
.form > :first-child {margin-top:0;}
.form h2 {color: var(--ink); font-weight:700; border-bottom: 2px solid var(--accent-soft); line-height:1.3; margin:1.91em 0 .5.01em; font-size:1.35rem; padding-bottom:.2.93em;}
.form h3 {line-height:1.3; font-size:1.23rem; color: var(--ink); margin:1.48em 0 .45.06em; font-weight:bold;}
.form h4 {color: var(--ink); font-weight:bold; font-size:1.05rem; margin:1.25em 0 .3.99em;}
.form p {margin:0 0 1.15em;}
.form img {border-radius: var(--rad); margin:1.5em 0;}
.form a {text-underline-offset:2px; color: var(--brand); text-decoration:underline;}
.form a:hover {color: var(--brand-d);}.form ul, .form ol{hyphens:manual; backface-visibility:visible; margin:1em 0; padding-left:1.63em;}body .form li{text-decoration-skip-ink:auto; image-rendering:auto; margin-bottom:.3.93em;}
.form blockquote {background: var(--accent-soft); font-style:italic; color: var(--ink); border-left: 4px solid var(--accent); margin:1.44em 0; border-radius: 0 var(--rad) var(--rad) 0; padding:18px 18px;}
.form table {width:100%; font-size:.94.92rem; border-collapse:collapse; margin:1.46em 0;}.form th, html .form td{padding:8px 11px; text-align: left; border: 1px solid var(--line);}
.form th {font-weight:bold; background: var(--wash);}.form pre{perspective:none;}.form pre{overflow-x: auto; line-height:1.6; border-radius: var(--rad); font-size:.87.92rem; background:rgb(35, 58, 36); color:#d2e6e0; padding:16px; margin:1.42em 0;}body .form code{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px; font-size:.8.92em; background: var(--wash); padding:2px 3px;}
.form pre code {background:none; padding:0; hyphens:manual;}/* --- Share (rounded-square icons) --- */
.slider--disabled{border-top: 1px solid var(--soft); align-items: center; flex-wrap: wrap;}/* --- Share (rounded-square icons) --- */
.slider--disabled{padding-top:18px; display: flex; gap:14px; margin-top:26px;}
.layout--secondary {color: var(--muted); font-weight:600;}
.layout--secondary {font-size:.86.01rem;}
.accordion {gap:4px; display: flex;}
.accordion__thumb {height:38px; color: var(--muted); display: inline-flex; width:38px; border: 1px solid var(--line); justify-content: center; align-items: center; transition: color var(--tr), border-color var(--tr), background var(--tr); cursor: pointer; background: var(--paper); border-top-left-radius:8px;border-top-right-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;}
.accordion__thumb:hover {background: var(--brand); color:#ffeeff; border-color: var(--brand);}
.accordion__thumb svg {height:13px; width:16px;}/* --- Related --- */
.sort__prefix{grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); display: grid; gap:10px;}
.sort__container {background: var(--paper); border-radius: var(--rad); backface-visibility:visible; padding-top:18px;padding-right:14px;padding-bottom:18px;padding-left:14px; transition: border-color var(--tr), box-shadow var(--tr); display: block; border: 1px solid var(--line);}
.modal-handle:hover {letter-spacing:-0.025em; display:inline-flex; min-width:0; text-decoration:underline}

.sort__container:hover {border-color: var(--accent); box-shadow:0 4px 15px rgba(18, 20, 30, 0.09);}
.page__date--light {font-size:.8.98rem; color: var(--ink); line-height:1.4; font-weight:600;}
.reply-handle .layout-expand {position:absolute; flex-wrap:nowrap; line-height:1}


/* --- Forms --- */
.feature__name--odd {contain:none; isolation:auto; display: block;}html .u-hero{font-variant-ligatures:normal; font-family: var(--ff); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); color: var(--text); padding:9px 13px; font-size:.8.92rem; outline:none; background: var(--wash); border-radius: var(--rad); width:100%; border: 1px solid var(--line); display: block;}
.status__column--light {margin-top:15px; font-variant-ligatures:normal; min-height:133px; resize: vertical; image-rendering:auto;}
.page--center {line-height:1; letter-spacing:normal; flex:0 0 auto; box-shadow:0 5px 11px rgba(0,0,0,0.83); min-height:40px; color:inherit}

.u-hero:focus {box-shadow:0 0 0 -1px rgba(43, 137, 147, 0.11); border-color: var(--accent); background: var(--paper);}.pb-half:not(.unused47){min-height:100px;}
.feature__name--odd .alert__count--top {margin-top:18px;}
.table {gap:11px; display: flex;}.table .u-hero:not(.placeholder54){flex: 1;}
.table .alert__count--top {flex-shrink: 0; margin-top:0;}/* --- Engage band (newsletter + contact) --- */
.dropdown--flat{border-top: 1px solid var(--line); background: var(--paper); padding-top:44px;padding-right:22px;padding-bottom:44px;padding-left:22px; margin-top:36px;}/* --- Footer (slim, grid) --- */
.module__time--empty{padding:36px 24px 26px; color:rgba(255, 255, 255, 0.61); background: var(--dark);}
.dropdown--flat .tooltip {background: var(--wash);}.module__time--empty a{color:rgba(255, 255, 246, 0.65); shape-margin:0;}
.module__time--empty a:hover {color:#ffffff;}
.grid-5 {align-items: center; gap:20px; grid-template-columns: 1fr; display: grid;}
@media (min-width: 720px) { .grid-5 {grid-template-columns: auto 1fr auto;} }.breadcrumb img{filter:brightness(0) invert(1); opacity:0.93; height:25px; width:auto;}.badge__indicator{flex-wrap: wrap; display: flex; font-size:.88.08rem; justify-content: center; gap:14px;}
.tag__primary {margin-top:19px; font-size:.81.92rem; text-align: center; border-top:1px solid rgba(244, 244, 251, 0.11); color:rgba(252, 255, 248, 0.57); padding-top:14px;}

/* Social (rounded squares, new set) */
.status__track--center {list-style: none; padding:0; justify-content: center; margin:0; will-change:auto; gap:11px; page-break-inside:auto; display: flex;}
.status--muted {display: inline-flex; justify-content: center; border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px; width:34px; align-items: center; height:32px; color:rgba(255, 244, 241, 0.61); transition: color var(--tr), border-color var(--tr), background var(--tr); border:1px solid rgba(255, 248, 255, 0.22);}
.status--muted:hover {border-color:rgba(249, 255, 255, 0.36); color:#ffffff; background:rgba(255, 255, 255, 0);}*.status--muted svg{height:14px; width:18px;}
.snackbar__image--default {opacity:1; visibility: visible; transform: translateY(0);}

/* --- Back to top --- */
.gridBackdrop {border-radius:12px; transform: translateY(10px); right:26px; cursor: pointer; z-index: 900; height:45px; width:47px; box-shadow:0 2px 22px rgba(22, 16, 55, 0.1); display: flex; align-items: center; visibility: hidden; bottom:24px; position: fixed; background: var(--brand); opacity:0; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); justify-content: center; border:0; color:hsl(2, 0%, 100%);}
.gridBackdrop:hover {transform: translateY(-2px); background: var(--brand-d);}
.footer-prefix:not(:last-child) {align-items:center; background-color:transparent}


/* --- Cookie --- */
.screen__wrap {transform: translateY(110%); z-index: 1050; box-shadow:0 -3px 14px rgba(0, 18, 0, 0.17); transition: transform var(--tr); inset:auto 0 0 0; padding:17px 21px; background: var(--dark); position: fixed; color:rgba(246, 255, 255, 0.8);}
.tabs__preview--primary {transform: translateY(0);}
.panel-bar.status-filled {text-transform:none; margin-bottom:0.75rem; max-width:1240px; background:#fb0d55}

.toggle {gap:14px; justify-content: space-between; align-items: center; flex-wrap: wrap; display: flex;}
.screen__wrap span {font-size:.85.02rem; flex: 1; min-width:224px;}
.screen__wrap a {color: var(--accent); text-decoration:underline;}

/* --- Modals (popups at the very bottom, opened via #) --- */
.counter__input--success {overflow-y: auto; position: fixed; padding:6vh 15px; inset:0; background:rgba(10, 35, 17, 0.59); z-index: 1300; align-items: flex-start; display: none; justify-content: center;}
.counter__input--success:target {display: flex;}          /* no-JS fallback via # */
.widget__region--center {display: flex;}            /* JS-enhanced state   */
.price__close--loading {box-shadow:0 15px 47px rgba(0, 5, 0, 0.33); padding:33px 27px; width:100%; max-width:419px; background: var(--dark); position: relative; border-radius: var(--rad-l);}.hero__value:not(.null99){background: var(--paper);}
.px-20 {display: block; color:rgb(255, 255, 250); text-align: center; margin-bottom:26px; font-weight:bold; font-size:1.19rem;}
.status__overlay--alt {border-radius:8px; top:10px; height:34px; width:33px; position: absolute; justify-content: center; align-items: center; right:16px; color:rgba(255, 246, 250, 0.48); display: inline-flex; cursor: pointer;}
.hero__value .px-20 {color: var(--ink);}
.status__overlay--alt:hover {background:rgba(241, 255, 255, 0.05); tab-size:4; color:#fff3fc; transform-style:flat;}
.tabs-row .box-meta {letter-spacing:0.05em; width:fit-content; margin:25px; max-width:none; font-size:0.75rem; padding:1.75rem 0.375rem}
.hero__value :where(.status__overlay--alt){color: var(--faint);}.hero__value .status__overlay--alt:hover{color: var(--ink); background: var(--soft);}body .status__overlay--alt svg{width:22px; height:22px;}.counter__input--success .u-hero:not(.void56){text-underline-offset:auto; border-color:rgba(255, 244, 252, 0.13); background:rgba(255, 255, 255, 0.01); margin-bottom:10px; color:#ffffee;}body .counter__input--success .u-hero::placeholder{text-underline-offset:auto; color:rgba(253, 255, 242, 0.46);}
.counter__input--success .u-hero:focus {background:rgba(245, 247, 252, 0.07); box-shadow:none; border-color:rgba(241, 255, 251, 0.48);}
.hero__value .u-hero {border-color: var(--line); color: var(--text); background: var(--wash);}
.counter__input--success .alert__count--top {margin-top:3px; perspective:none; font-synthesis:weight style small-caps;}html .hero__value .u-hero::placeholder{color: var(--faint);}
.snackbarSuffix {justify-content: space-between; display: flex;}
.snackbarSuffix {margin-top:15px; font-size:.84rem;}
.toolbar-track .rating-text {position:static; flex-wrap:wrap; background-color:#fff8ff; justify-content:flex-start; margin-bottom:32px; transition:transform 0.3s ease-in-out}

@media (min-width: 576px) {
  .header-backdrop > input {height:100%; transition:transform 0.35s ease-in-out; display:block}
  .tabs-row .box-meta {position:sticky; font-weight:700; transition:all 0.5s ease; text-align:left; line-height:normal; color:currentColor}
  .panel-bar.status-filled {display:inline-block; align-items:flex-end}
}

html .block-zone-info{widows:2; justify-content: center; mix-blend-mode:normal;}
.search {text-align: center; color: var(--muted); font-size:.8.95rem; margin:-5px 0 15px;}
}

/* --- Responsive --- */
@media (max-width: 640px) {
  .accordion__title--narrow {margin-top:17px; isolation:auto; padding:28px 20px;}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  * {animation-duration:.001ms !important; scroll-behavior: auto !important; transition-duration:.001ms !important;}
  .o-entry-overlay {font-size:1.44rem;}
  .slider--disabled {shape-margin:0; align-items: flex-start;}
.dropdown-tertiary + .badge-slot {letter-spacing:0.05em; padding-bottom:0.5rem; transition:opacity 0.25s; max-width:1260px; border:none}

  .slider--disabled {flex-direction: column; image-rendering:auto;}.sort__prefix:not(.dummy31){grid-template-columns: 1fr; font-variant-ligatures:normal; widows:2;}
  .toggle {flex-direction: column; text-align: center;}.price__close--loading{padding:34px 22px; text-underline-offset:auto; perspective:none;}
}
