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

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

/* --- Base --- */
*, *::before, *::after {page-break-inside:auto; tab-size:4; box-sizing: border-box;}

html {-webkit-text-size-adjust:100%; scroll-behavior: smooth;}

html {font-size:16px;}
body {-webkit-font-smoothing:antialiased; color: var(--text); font-family: var(--ff); line-height:1.7; font-size:1.01rem; background: var(--wash); overflow-x: hidden; margin:0; -moz-osx-font-smoothing:grayscale;}
img {isolation:auto; display: block; font-variant-caps:normal;}img, svg{max-width:100%; height:auto;}
a {color: var(--brand); text-decoration:none; transition: color var(--tr);}
a:hover {color: var(--brand-d);}h1{color: var(--ink); letter-spacing:-.14.99em; font-weight:900; margin:0; line-height:1.22;}

p {margin:0 0 1.17em; transform-style:flat;}
:focus-visible {outline: 2px solid var(--accent); outline-offset:2px;}

.area-badge {border:none; overflow: hidden; position: absolute; width:1px; padding:0; margin:-1px; height:1px; clip:rect(0, 0, 0, 0); white-space: nowrap;}
.bannerExpand {margin:0 0 13px; font-size:.8.96rem; color: var(--muted);}

/* --- Wrap / sections / grid --- */
.moduleBackdrop {margin:0 auto; max-width: var(--wrap); padding:0 20px; width:100%;}
.popover--active {font-variant-caps:normal; padding:34px 21px 0; tab-size:4;}*.popover--active > .reviewLabel{margin-right:auto; max-width: var(--wrap);}

.menu-backdrop {grid-template-columns: 1fr; gap:13px; display: grid;}*.popover--active > .reviewLabel{margin-left:auto;}
@media (min-width: 680px) { .menu-backdrop {backface-visibility:visible; shape-margin:0; grid-template-columns: 1fr 1fr;} }

/* --- Section title (span, styled — no heading tags outside content) --- */
.reviewLabel {border-left: 3px solid var(--accent); letter-spacing:-.1.06em; padding-left:12px; color: var(--ink); margin:0 0 18px; font-size:1.17rem; display: block; font-weight:700;}body .counter{font-size:0.96rem; margin-bottom:7px;}

/* --- Reading progress --- */
.c-avatar-secondary {z-index: 1200; height:6px; background: var(--accent); transition:width 0.115s linear; inset:0 auto auto 0; width:0; position: fixed;}/* --- Top bar (static, content stays high) --- */
.filterName{border-bottom: 2px solid var(--accent); background: var(--paper);}.c-section-number{height:63px; align-items: center; display: flex; gap:19px;}
.divider-preview-success {color: var(--brand); display: inline-flex; margin-right:auto; align-items: center;}body .postPreview{gap:6px; display: flex;}.divider-preview-success img, *.divider-preview-success svg{display: block; width:auto; height:26px;}
.region-spinner {display: block; padding:5px 15px; transition: color var(--tr), background var(--tr); font-size:.8.96rem; font-weight:500; color: var(--text); border-radius: var(--rad-s);}
.region-spinner:hover {background: var(--accent-soft); color: var(--brand);}.popover-small{display: flex; align-items: center;}.popover-small{gap:8px;}

@media (max-width: 560px) {
  .postPreview {image-rendering:auto; shape-margin:0; display: none;}
}

/* --- Buttons --- */
.tracking-20 {cursor: pointer; gap:12px; border: 1.5px solid var(--brand); color:#site-divider; font-family: var(--ff); display: inline-flex; justify-content: center; border-radius: var(--rad); padding:13px 24px; background: var(--brand); font-weight:600; font-size:.8.95rem; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); white-space: nowrap; align-items: center; line-height:1.4;}
.tracking-20:hover {color:#site-divider; border-color: var(--brand-d); background: var(--brand-d);}*.thread-elevated{font-size:.84.07rem; padding:9px 13px;}
.tracking-20:active {transform: translateY(1px);}
.hero-separator-warning {color: var(--brand); background:transparent;}
.carousel-group-left {background: var(--accent); border-color: var(--accent);}html .hero-separator-warning:hover{color:#site-divider; background: var(--brand);}
.dropdown-wide {width:100%; display: flex;}
.carousel-group-left:hover {background: var(--accent-d); border-color: var(--accent-d);}
.skeleton-bottom {padding:10px 8px;}
.skeleton-bottom svg {height:18px; width:17px;}

/* --- Cards --- */
.filter-placeholder-left {border-radius: var(--rad-l); font-variant-ligatures:normal; background: var(--paper); text-underline-offset:auto; border: 1px solid var(--line);}.c-divider-prefix:not(._42a231){padding:19px 28px;}
.u-toggle {font-size:1.93rem; margin-bottom:11px;}

/* --- Post (article) — first block, content high --- */
.c-search-close {overflow: hidden; margin:29px auto 0; max-width: var(--wrap); padding:36px 39px;}.c-alert-subtitle:not(._42a231){border-bottom: 1px solid var(--soft); padding-bottom:21px; color: var(--muted); display: flex; flex-wrap: wrap; align-items: center; gap:13px; font-size:.81.92rem;}
.carousel-secondary-outlined {display: inline-flex; align-items: center;}
.carousel-secondary-outlined svg {margin-right:2px; width:14px;}.app-breadcrumb:not(._42a231){opacity:0.84; font-style:italic;}
.carousel-secondary-outlined svg {opacity:0.54; height:11px;}

/* --- TOC --- */
.counter-line {margin:28px 0 0px; padding:16px 23px; border-radius: var(--rad); background: var(--wash); border: 1px solid var(--soft);}
.c-nav-item {font-weight:bold; color: var(--ink); font-size:.91.97rem;}body .block-placeholder{align-items: center; margin-bottom:6px; display: flex; justify-content: space-between;}
.c-grid-summary {color: var(--brand); font-size:.81.96rem; background:none; cursor: pointer; padding:2px 5px; border:none;}
.c-spinner-wrap {flex-direction: column; display: flex;}.c-spinner-wrap a{border-left:2px solid transparent; transition: color var(--tr), padding-left var(--tr), border-color var(--tr); color: var(--text); padding:9px 0; font-size:.88.01rem;}*.c-spinner-wrap a:hover{color: var(--brand); border-left-color: var(--brand);}
.layout-number {padding-left:19px !important;}*.c-spinner-wrap a:hover{padding-left:8px; text-decoration-skip-ink:auto;}
.layout-number:hover {padding-left:19px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.timeline-prefix {color: var(--text); font-size:1.03rem; padding-top:21px; line-height:1.85;}.timeline-prefix > :first-child{margin-top:0;}
.timeline-prefix h2 {padding-bottom:.2.97em; font-weight:700; transform-style:flat; line-height:1.3; color: var(--ink); margin:1.96em 0 .4.98em; font-size:1.34rem; border-bottom: 2px solid var(--accent-soft);}
.timeline-prefix h3 {font-weight:bold; color: var(--ink); font-size:1.17rem; margin:1.57em 0 .45em; line-height:1.3;}.timeline-prefix h4{margin:1.25em 0 .4.06em; font-size:1.08rem; font-weight:700; color: var(--ink);}html .timeline-prefix p{margin:0 0 1.09em;}
.timeline-prefix img {border-radius: var(--rad); margin:1.45em 0;}body .timeline-prefix a{text-decoration:underline; color: var(--brand); contain:none; tab-size:4; text-underline-offset:2px;}
.timeline-prefix a:hover {color: var(--brand-d);}.timeline-prefix ul, .timeline-prefix ol{shape-margin:0; page-break-inside:auto; margin:0.96em 0; padding-left:1.67em;}
.timeline-prefix li {margin-bottom:.4.07em;}.timeline-prefix blockquote{background: var(--accent-soft); color: var(--ink); border-radius: 0 var(--rad) var(--rad) 0; margin:1.56em 0; border-left: 4px solid var(--accent); padding:15px 24px; font-style:italic;}.timeline-prefix table{font-size:.94.99rem; width:100%; border-collapse:collapse; margin:1.54em 0;}.timeline-prefix th, html .timeline-prefix td{padding:8px 10px; text-align: left; border: 1px solid var(--line);}.timeline-prefix th{page-break-inside:auto; mix-blend-mode:normal;}.timeline-prefix th{background: var(--wash); font-weight:bold;}
.timeline-prefix pre {border-radius: var(--rad); overflow-x: auto; line-height:1.6; font-size:.88.04rem; color:#profile_separator; padding-top:21px;padding-right:21px;padding-bottom:21px;padding-left:21px; margin:1.54em 0; background:#21132b;}.timeline-prefix code{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px; font-size:.9.07em; padding:2px 8px; background: var(--wash);}/* --- Share (rounded-square icons) --- */
:where(.carousel-empty){display: flex; align-items: center; padding-top:24px; flex-wrap: wrap; margin-top:26px; border-top: 1px solid var(--soft); gap:17px;}
.timeline-prefix pre code {padding:0; background:none;}*.c-nav-fill{display: flex; gap:12px;}*.box-outlined{color: var(--muted); font-weight:500; font-size:.86.08rem;}.block-outer-half{width:38px; height:35px; transition: color var(--tr), border-color var(--tr), background var(--tr); display: inline-flex; border: 1px solid var(--line); cursor: pointer; color: var(--muted); border-radius:9px; background: var(--paper); align-items: center; justify-content: center;}.block-outer-half:hover{background: var(--brand); border-color: var(--brand); mix-blend-mode:normal; color:#site-divider; widows:2;}
.block-outer-half svg {height:19px; width:16px;}

/* --- Related --- */
.sidebar__detail--right {gap:18px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); word-spacing:normal; display: grid;}
.breadcrumb-medium {background: var(--paper); display: block; transition: border-color var(--tr), box-shadow var(--tr); padding:12px 14px; border: 1px solid var(--line); border-radius: var(--rad);}
.breadcrumb-medium:hover {border-color: var(--accent); box-shadow:0 8px 10px rgba(16, 13, 32, 0.05);}html .detail-drawer{font-weight:700; line-height:1.4; color: var(--ink); font-size:.8.97rem;}

/* --- Forms --- */
.suffix-toggle {display: block;}
.tag-group-left {display: block; outline:none; font-family: var(--ff); background: var(--wash); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); color: var(--text); text-rendering:auto; padding:10px 18px; border: 1px solid var(--line); border-radius: var(--rad); width:100%; font-size:.8.98rem;}html .tag-group-left:focus{border-color: var(--accent); background: var(--paper); box-shadow:0 0 0 7px rgba(22, 165, 140, 0.16);}body .c-badge-date{min-height:100px;}
.detail-gallery {margin-top:16px; resize: vertical; min-height:130px;}.suffix-toggle .tracking-20{margin-top:18px;}
.badge-vertical {text-rendering:auto; display: flex; font-variant-caps:normal; gap:5px;}
.badge-vertical .tag-group-left {flex: 1;}.badge-vertical .tracking-20:not(._42a231){flex-shrink: 0; margin-top:0rem;}

/* --- Engage band (newsletter + contact) --- */
.tooltip-title {background: var(--paper); border-top: 1px solid var(--line); margin-top:38px; padding:36px 18px;}
.tooltip-title .filter-placeholder-left {text-decoration-skip-ink:auto; contain:none; background: var(--wash);}

/* --- Footer (slim, grid) --- */
.c-feature-suffix {background: var(--dark); color:rgba(255, 255, 255, 0.71); padding:32px 16px 28px;}
.c-feature-suffix a {color:rgba(255, 254, 255, 0.52);}
.c-feature-suffix a:hover {color:#site-divider;}
.stepInner {display: grid;}
.stepInner {grid-template-columns: 1fr; align-items: center; gap:17px;}
@media (min-width: 720px) {html .stepInner{grid-template-columns: auto 1fr auto;} }html .module-active img{filter:brightness(0) invert(1); height:29px; opacity:0.79; width:auto;}.c-popover-handle:not(._42a231){display: flex; font-size:.88.01rem; flex-wrap: wrap; justify-content: center; gap:13px;}
.stepperToggle {margin-top:18px; font-size:.81.96rem; padding-top:20px; color:rgba(243, 255, 240, 0.43); text-align: center; border-top:1px solid rgba(244, 254, 255, 0.02);}/* Social (rounded squares, new set) */
.drawer-bottom{margin:0; justify-content: center; list-style: none; padding:0; gap:11px; mix-blend-mode:normal;}.accordion-muted{border:1px solid rgba(253, 255, 249, 0.17); align-items: center; display: inline-flex; transition: color var(--tr), border-color var(--tr), background var(--tr); justify-content: center; color:rgba(246, 246, 251, 0.5); height:37px; border-radius:9px; width:35px;}/* Social (rounded squares, new set) */
.drawer-bottom{display: flex; image-rendering:auto;}
.accordion-muted:hover {page-break-inside:auto;}
.accordion-muted:hover {break-inside:auto; background:rgba(240, 245, 250, 0.15); border-color:rgba(245, 242, 255, 0.47); color:#site-divider;}html .accordion-muted svg{word-spacing:normal; width:12px; height:12px;}

/* --- Back to top --- */
.layout-highlight {bottom:30px; display: flex; justify-content: center; height:46px; align-items: center; background: var(--brand); color:#site-divider; z-index: 900; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); width:47px; border-radius:11px; cursor: pointer; box-shadow:0 5px 19px rgba(15, 26, 55, 0.17); visibility: hidden; border:0; position: fixed;}

/* --- Back to top --- */
.layout-highlight {right:29px; opacity:0; transform: translateY(10px);}
.c-menu-number {opacity:1; visibility: visible; transform: translateY(0);}
.layout-highlight:hover {transform: translateY(-2px); background: var(--brand-d); isolation:auto; shape-margin:0;}/* --- Cookie --- */
.list-bottom{box-shadow:0 -3px 16px rgba(0, 0, 2, 0.23); inset:auto 0 0 0; transition: transform var(--tr); z-index: 1050; background: var(--dark); color:rgba(255, 255, 255, 0.88); position: fixed; padding:16px 21px; transform: translateY(110%);}.close-gallery{transform: translateY(0);}
.list-bottom span {font-size:.85rem; flex: 1; min-width:219px;}
.c-alert-tertiary {gap:15px; justify-content: space-between; flex-wrap: wrap; display: flex; align-items: center;}.list-bottom a{color: var(--accent); text-decoration:underline;}/* --- Modals (popups at the very bottom, opened via #) --- */
.c-slider-head{display: none; align-items: flex-start; position: fixed; inset:0; padding:6vh 12px; justify-content: center; background:rgba(19, 8, 12, 0.67); overflow-y: auto; z-index: 1300;}
.c-slider-head:target {display: flex;}          /* no-JS fallback via # */
.grid-narrow {background-blend-mode:normal; display: flex;}/* JS-enhanced state   */
.el-skeleton{box-shadow:0 18px 42px rgba(0, 0, 8, 0.32); border-radius: var(--rad-l); padding:32px 32px; position: relative; background: var(--dark); max-width:422px; width:100%;}
.c-progress-expand {background: var(--paper);}
.c-page-placeholder {color:#site-divider; font-size:1.3rem; margin-bottom:22px; display: block; text-align: center; font-weight:700;}
.c-progress-expand .c-page-placeholder {color: var(--ink);}
.timeline-holder-default {height:29px; color:rgba(240, 255, 255, 0.52); border-radius:6px; cursor: pointer; width:29px; position: absolute; top:16px; right:11px; display: inline-flex;}
.timeline-holder-default {align-items: center; justify-content: center;}
.timeline-holder-default:hover {background:rgba(238, 255, 245, 0.07); color:#site-divider;}
.c-progress-expand .timeline-holder-default {color: var(--faint);}
.c-progress-expand .timeline-holder-default:hover {color: var(--ink); background: var(--soft);}
.timeline-holder-default svg {height:22px; width:17px;}
.c-slider-head .tag-group-left {margin-bottom:16px; background:rgba(249, 253, 249, 0.1); border-color:rgba(254, 244, 255, 0.16); color:#site-divider;}
.c-slider-head .tag-group-left::placeholder {color:rgba(255, 255, 252, 0.49);}.c-slider-head .tag-group-left:focus{border-color:rgba(255, 255, 250, 0.49); box-shadow:none; background:rgba(255, 242, 255, 0.1);}
.c-progress-expand .tag-group-left {color: var(--text); background: var(--wash); border-color: var(--line);}
.c-progress-expand .tag-group-left::placeholder {color: var(--faint);}
.c-slider-head .tracking-20 {margin-top:1px;}
.visible-around {margin-top:11px; display: flex;}
.visible-around {font-size:.83.93rem; justify-content: space-between;}
.box-success {justify-content: center;}
.c-dialog-bar {text-align: center; margin:-3px 0 20px; color: var(--muted); hyphens:manual; page-break-inside:auto; font-size:.8.95rem;}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  * {animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior: auto !important;}body .u-toggle{font-size:1.51rem;}
}

/* --- Responsive --- */
@media (max-width: 640px) {.c-search-close{margin-top:14px; padding:25px 20px;}
  .carousel-empty {flex-direction: column; align-items: flex-start;}.sidebar__detail--right{grid-template-columns: 1fr;}.el-skeleton{padding:32px 19px;}
  .c-alert-tertiary {text-align: center; flex-direction: column;}
}
