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

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

/* --- Base --- */
*, *::before, *::after {box-sizing: border-box;}html{-webkit-text-size-adjust:100%; scroll-behavior: smooth;}body{-moz-osx-font-smoothing:grayscale; line-height:1.7; color: var(--text); background: var(--wash); overflow-x: hidden; font-size:0.97rem; font-family: var(--ff); margin:0px; -webkit-font-smoothing:antialiased;}html{font-size:20px;}
.entry-subtitle > content {min-width:15px; padding-bottom:0.625rem; transition:all 0.5s ease; border:none}

img, svg {max-width:100%; height:auto;}
img {widows:2;}
img {display: block; page-break-inside:auto;}
a {text-decoration:none; transition: color var(--tr); color: var(--brand);}
a:hover {color: var(--brand-d);}h1{line-height:1.22; margin:0; font-weight:800; letter-spacing:-.15.05em; color: var(--ink);}
.feature__bar {border-radius:34px; display:inline-flex; background:transparent; transition:transform 0.2s ease-in-out; margin-left:auto; font-weight:500}


p {margin:0 0 1.16em;}
.rating__block {min-width:36px; cursor:default; position:relative; flex:none}
:focus-visible{outline: 2px solid var(--accent); tab-size:4; outline-offset:2px;}

.c-avatar-date {clip:rect(0, 0, 0, 0); margin:-1px; white-space: nowrap; height:1px; overflow: hidden; padding-top:0em;padding-right:0em;padding-bottom:0em;padding-left:0em; position: absolute; width:1px; border:0 none;}/* --- Wrap / sections / grid --- */
.dropdown-separator{width:100%; transform-style:flat; padding:0 24px; text-underline-offset:auto; max-width: var(--wrap); margin:0 auto;}
.subtitle-spinner {font-size:.8.95rem; color: var(--muted); margin:0 0 11px;}
.step-loading {padding:28px 18px 0;}
.step-loading > .label-action {margin-right:auto; margin-left:auto; max-width: var(--wrap);}

.nav-spacer {display: grid; gap:16px; grid-template-columns: 1fr;}
@media (min-width: 680px) {*.nav-spacer{grid-template-columns: 1fr 1fr;} }
.view-secondary {margin-bottom:12px; font-size:0.98rem;}

/* --- Section title (span, styled — no heading tags outside content) --- */
.label-action {letter-spacing:-.0.99em; padding-left:8px; font-size:1.25rem; margin:0 0 18px; border-left: 3px solid var(--accent); display: block; color: var(--ink); font-weight:bold; hyphens:manual;}

/* --- Reading progress --- */
.avatar-column-dark {position: fixed; perspective:none; transition:width 0.056s linear; inset:0 auto auto 0; background: var(--accent); z-index: 1200; width:0;}

/* --- Reading progress --- */
.avatar-column-dark {height:4px;}/* --- Top bar (static, content stays high) --- */
.carousel-info{background: var(--paper); border-bottom: 2px solid var(--accent);}
.form-block-center {align-items: center; gap:16px; height:59px; display: flex;}*.c-spinner-value{margin-right:auto; align-items: center; display: inline-flex; color: var(--brand);}
.c-spinner-value img, .c-spinner-value svg {display: block; height:29px; width:auto;}.price-top{display: flex; gap:7px;}
.pl-12 {backface-visibility:visible; display: block; color: var(--text); transition: color var(--tr), background var(--tr); padding:11px 11px; font-weight:600; font-size:.8.97rem; border-radius: var(--rad-s);}
.pl-12:hover {background: var(--accent-soft); color: var(--brand); will-change:auto;}
.pl-12:hover {text-decoration-skip-ink:auto;}
.c-slider-link {align-items: center; display: flex; gap:12px;}

@media (max-width: 560px) {
  .price-top {display: none;}
}

/* --- Buttons --- */
.c-layout-foot {font-weight:600; gap:8px; justify-content: center; line-height:1.4; color:rgb(255, 255, 255); display: inline-flex; background: var(--brand); padding:14px 22px; align-items: center; font-family: var(--ff); font-size:.9.02rem; border: 1.5px solid var(--brand); transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); border-radius: var(--rad); white-space: nowrap; cursor: pointer;}
.c-layout-foot:hover {background: var(--brand-d); border-color: var(--brand-d); color:#ffffff;}
.addon-toolbar {padding-top:4px;padding-right:13px;padding-bottom:4px;padding-left:13px; font-size:.84.05rem;}.c-layout-foot:active{transform: translateY(1px);}
.slider-value-sticky {background:transparent; color: var(--brand); backface-visibility:visible;}
.slider-value-sticky:hover {background: var(--brand); color:#fff3ee;}
.h-16 {border-color: var(--accent); background: var(--accent);}html .h-16:hover{background: var(--accent-d); border-color: var(--accent-d);}
.table-focused {padding-top:12px;padding-right:9px;padding-bottom:12px;padding-left:9px;}
.view-column.tag-primary {flex:1 1 0%; margin-top:0}
*.font-half{display: flex; width:100%;}
.table-focused svg {width:17px; height:12px;}
.tooltip-bottom {padding:25px 23px;}

/* --- Cards --- */
.c-grid-info {border: 1px solid var(--line); background: var(--paper); border-radius: var(--rad-l);}

/* --- Post (article) — first block, content high --- */
.c-box-trigger {overflow: hidden; padding-top:30px;padding-right:34px;padding-bottom:30px;padding-left:34px; margin:29px auto 0; max-width: var(--wrap);}
.price-handle {margin-bottom:17px; font-size:1.87rem;}
.card-large {display: flex; color: var(--muted); flex-wrap: wrap; font-size:.82.06rem; border-bottom: 1px solid var(--soft); align-items: center; gap:18px; padding-bottom:22px;}html .c-chip-expand{display: inline-flex; align-items: center;}
.c-chip-expand svg {margin-right:9px; opacity:0.52; height:11px; width:18px;}
.breadcrumb-inverse {opacity:0.76; font-style:italic;}

/* --- TOC --- */
.media-compact {background: var(--wash); margin:25px 0 1px; border: 1px solid var(--soft); border-radius: var(--rad); padding:16px 21px;}.summary-badge:not(.void19){justify-content: space-between; display: flex; margin-bottom:8px; align-items: center;}
.number-spinner {font-weight:bold; color: var(--ink); font-size:.92rem;}body .hero-focused{flex-direction: column; hyphens:manual; print-color-adjust:economy; display: flex;}
.c-tooltip-head {font-size:.81.92rem; background:none; padding:2px 7px; color: var(--brand); border:none; cursor: pointer;}
.hero-focused a {transition: color var(--tr), padding-left var(--tr), border-color var(--tr); padding:5px 0; color: var(--text); border-left:2px solid transparent; font-size:.88.04rem;}
.hero-focused a:hover {will-change:auto; color: var(--brand); padding-left:5px; text-underline-offset:auto; border-left-color: var(--brand);}
.toggle-detail-medium {padding-left:17px !important;}/* --- Rich text (the only place with headings, coming from content) --- */
.box-foot{padding-top:22px; color: var(--text); line-height:1.85; font-size:1.07rem;}body .toggle-detail-medium:hover{padding-left:22px !important;}
.box-foot > :first-child {isolation:auto; margin-top:0; page-break-inside:auto;}
.box-foot h2 {font-size:1.49rem; padding-bottom:.2.95em; line-height:1.3; border-bottom: 2px solid var(--accent-soft); mix-blend-mode:normal; margin:1.97em 0 .5.08em; font-weight:bold; color: var(--ink);}
.box-foot h3 {line-height:1.3; font-weight:700; margin:1.45em 0 .45.08em; color: var(--ink); font-size:1.2rem;}
.box-foot h4 {margin:1.36em 0 .3.96em; font-weight:700; font-size:1.07rem; color: var(--ink);}
.box-foot p {margin:0 0 1.22em;}
.box-foot img {border-radius: var(--rad); margin:1.57em 0;}
.box-foot a {text-underline-offset:2px; text-decoration:underline; font-variant-ligatures:normal; color: var(--brand);}
.box-foot a:hover {color: var(--brand-d);}html .box-foot ul, .box-foot ol{margin:1em 0; background-blend-mode:normal; padding-left:1.69em;}body .box-foot li{margin-bottom:.4.08em;}body .box-foot blockquote{font-style:italic; margin:1.42em 0; background: var(--accent-soft); border-left: 4px solid var(--accent); padding:13px 24px; color: var(--ink); border-radius: 0 var(--rad) var(--rad) 0;}
.box-foot table {border-collapse:collapse; width:100%; margin:1.54em 0; font-size:.95.05rem;}.box-foot th, .box-foot td{text-align: left; padding-top:14px;padding-right:14px;padding-bottom:14px;padding-left:14px; border: 1px solid var(--line);}
.box-foot th {font-weight:bold; background: var(--wash);}
.sidebar-button .profile-backdrop {min-height:27px; min-width:0; margin-right:0}
html .box-foot pre{background:#1f1e37; padding-top:15px;padding-right:15px;padding-bottom:15px;padding-left:15px; border-radius: var(--rad); overflow-x: auto; line-height:1.6; color:#e4c9e8; margin:1.5em 0; font-size:.88.07rem;}
.box-foot code {padding:2px 8px; background: var(--wash); font-size:.9.03em; border-radius:-1px;}
.box-foot pre code {padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px; background:none;}

/* --- Share (rounded-square icons) --- */
.modal__overlay {margin-top:30px; display: flex; padding-top:23px; align-items: center; flex-wrap: wrap; gap:11px; border-top: 1px solid var(--soft);}
.pageTertiary {font-weight:600; font-size:.85.98rem;}
.post__zone {height:12px; position:absolute; padding-top:0.5rem; transition:transform 0.15s ease-in-out; opacity:0.65}

.pageTertiary {color: var(--muted);}
.sidebar-prefix-bottom {display: flex; gap:4px;}
.c-widget-action {cursor: pointer; border: 1px solid var(--line); width:34px; display: inline-flex; transition: color var(--tr), border-color var(--tr), background var(--tr); background: var(--paper); height:37px; justify-content: center; align-items: center; color: var(--muted); border-top-left-radius:11px;border-top-right-radius:11px;border-bottom-right-radius:11px;border-bottom-left-radius:11px;}html .c-widget-action:hover{color:#fcf5ff; background: var(--brand); border-color: var(--brand);}
.c-widget-action svg {font-variant-ligatures:normal; width:12px; orphans:2; height:19px;}/* --- Related --- */
.c-progress-preview{gap:14px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); display: grid;}
.stepper-overlay {border: 1px solid var(--line); padding-top:18px;padding-right:12px;padding-bottom:18px;padding-left:12px; border-radius: var(--rad); display: block; transition: border-color var(--tr), box-shadow var(--tr); background: var(--paper);}.stepper-overlay:hover{box-shadow:0 6px 15px rgba(27, 20, 57, 0.13); border-color: var(--accent);}
.table-group.slider-loading {min-width:0; transition:transform 0.5s ease-in-out; padding-bottom:0.625rem; opacity:1; flex:1}

.tabs-placeholder:first-child {min-height:7px; display:grid; transition:color 0.3s; background:none; gap:21px}
html .avatar-summary{line-height:1.4; font-size:.9.04rem; color: var(--ink); font-weight:600;}

/* --- Forms --- */
.data-profile {isolation:auto; display: block;}.block-holder{display: block; width:100%; color: var(--text); font-size:.8.92rem; background: var(--wash); border-radius: var(--rad); transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); font-family: var(--ff); border: 1px solid var(--line); outline:none; padding:7px 12px;}
.block-holder:focus {background: var(--paper);}
.block-holder:focus {border-color: var(--accent); box-shadow:0 0 0 7px rgba(32, 149, 170, 0.07);}.c-breadcrumb-info{resize: vertical; margin-top:16px;}.c-breadcrumb-info{min-height:132px;}
.data-profile .c-layout-foot {margin-top:13px;}.c-modal-region{min-height:98px;}
.tertiary-section {display: flex; gap:7px;}
.tertiary-section .block-holder {flex: 1;}
.tertiary-section .c-layout-foot {flex-shrink: 0; margin-top:0;}

/* --- Engage band (newsletter + contact) --- */
.media-group-left {border-top: 1px solid var(--line); background: var(--paper); margin-top:33px; padding:43px 21px;}/* --- Footer (slim, grid) --- */
.badge-last{background: var(--dark); padding:38px 19px 29px; color:rgba(250, 238, 255, 0.62);}
.media-group-left .c-grid-info {background: var(--wash);}*.badge-last a{color:rgba(255, 243, 250, 0.68);}
.badge-last a:hover {color:hsl(44, 100%, 97.1%); tab-size:4; font-synthesis:weight style small-caps;}
.pagination-tertiary:hover {text-transform:none; margin:34px; display:table; flex-wrap:wrap}

.accordion-sticky {image-rendering:auto; display: grid; gap:21px; grid-template-columns: 1fr; align-items: center;}
@media (min-width: 720px) {.accordion-sticky:not(.nil99){grid-template-columns: auto 1fr auto;} }
.price-wrap img {filter:brightness(0) invert(1); opacity:0.82; width:auto; height:28px;}
.banner__name {gap:14px; justify-content: center; font-size:.88.06rem; flex-wrap: wrap;}
.banner__name {display: flex;}
.c-spinner-placeholder {padding-top:18px;}
.c-spinner-placeholder {border-top:1px solid rgba(243, 253, 244, 0.16); print-color-adjust:economy; color:rgba(242, 255, 253, 0.57); font-size:.82.03rem; margin-top:21px; text-align: center;}

/* Social (rounded squares, new set) */
.step-outer {list-style: none; display: flex; margin:0; padding:0; justify-content: center; gap:10px;}
.c-entry-holder {border-radius:11px; height:36px; justify-content: center; align-items: center; width:38px; transition: color var(--tr), border-color var(--tr), background var(--tr); border:1px solid rgba(255, 249, 255, 0.16); color:rgba(255, 255, 255, 0.6); display: inline-flex;}
.c-entry-holder:hover {border-color:rgba(255, 252, 255, 0.35); background:rgba(249, 255, 254, 0.01); color:rgb(226, 252, 245);}
.c-entry-holder svg {width:17px; height:20px;}

/* --- Back to top --- */
.reply-left {border:0 none; bottom:29px; shape-margin:0; width:48px; visibility: hidden; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); border-radius:10px; align-items: center; display: flex; transform: translateY(10px); color:#ffffef; height:45px; opacity:0; z-index: 900; right:28px; break-inside:auto; background: var(--brand); justify-content: center; cursor: pointer; position: fixed; box-shadow:0 7px 21px rgba(14, 39, 39, 0.25);}
.form-inner-full {isolation:auto; transform: translateY(0); opacity:1; word-spacing:normal; visibility: visible;}

/* --- Cookie --- */
.sort--highlight {box-shadow:0 -6px 20px rgba(0, 5, 18, 0.11); position: fixed; transition: transform var(--tr); transform: translateY(110%); z-index: 1050;}
.reply-left:hover {transform: translateY(-2px); background: var(--brand-d);}
.spacer-timeline {transform: translateY(0);}

/* --- Cookie --- */
.sort--highlight {inset:auto 0 0 0; background: var(--dark); padding-top:19px; padding-right:21px; padding-bottom:19px; padding-left:21px; color:rgba(252, 244, 241, 0.9);}.sort--highlight span{flex: 1; min-width:216px; font-size:.85.07rem;}
.l-panel-head {widows:2; flex-wrap: wrap; gap:19px; align-items: center; hyphens:manual; justify-content: space-between; display: flex;}
.sort--highlight a {text-decoration:underline; background-blend-mode:normal; color: var(--accent);}/* --- Modals (popups at the very bottom, opened via #) --- */
.subtitle-slider{overflow-y: auto; position: fixed; background:rgba(29, 1, 32, 0.54); display: none; inset:0; z-index: 1300; justify-content: center; padding:6vh 20px; align-items: flex-start;}
.subtitle-slider:target {display: flex; text-decoration-skip-ink:auto; background-blend-mode:normal;}          /* no-JS fallback via # */
.c-rating-close {display: flex;}
.list-button {background: var(--paper);}            /* JS-enhanced state   */
.viewBackdrop {position: relative; box-shadow:0 17px 48px rgba(0, 0, 0, 0.42); background: var(--dark); width:100%; max-width:423px; border-radius: var(--rad-l); padding-top:37px;padding-right:26px;padding-bottom:37px;padding-left:26px;}
@media (min-width: 1024px) {
  .rating__block {overflow:hidden; justify-content:space-around; border-radius:0; letter-spacing:0.01em; align-items:baseline; flex-wrap:wrap}
  .card-cell:first-child {box-shadow:none; align-items:baseline}
}


.card-cell:first-child {overflow:hidden; background-color:transparent}

.content-nav {font-weight:700; color:#fff4ef; text-align: center; margin-bottom:19px; display: block; font-size:1.24rem;}*.list-button .content-nav{color: var(--ink);}*.toggle-full{background-blend-mode:normal; top:11px; height:30px; cursor: pointer; align-items: center; right:11px; display: inline-flex; position: absolute; border-radius:5px; justify-content: center; width:29px; color:rgba(253, 244, 238, 0.44);}
.toggle-full:hover {background:rgba(239, 254, 255, 0.06); color:#fff1ff;}html .list-button .toggle-full{color: var(--faint); font-variant-ligatures:normal;}
.list-button .toggle-full:hover {background: var(--soft); color: var(--ink);}
.toggle-full svg {height:19px; width:15px;}body .subtitle-slider .block-holder{border-color:rgba(237, 238, 255, 0.22); margin-bottom:13px; background:rgba(255, 255, 242, 0.04); color:#eeffff;}
.subtitle-slider .block-holder::placeholder {color:rgba(242, 252, 239, 0.46);}body .subtitle-slider .block-holder:focus{box-shadow:none; background:rgba(247, 255, 255, 0.1); border-color:rgba(255, 255, 250, 0.39);}
.list-button .block-holder {color: var(--text); background: var(--wash); border-color: var(--line);}
.subtitle-slider .c-layout-foot {text-decoration-skip-ink:auto; backface-visibility:visible; margin-top:7px;}
.list-button .block-holder::placeholder {color: var(--faint);}
.el-divider-link {justify-content: center;}
.box--dense {transition:opacity 0.25s; position:static; box-shadow:none}

.dialog-overlay {border-radius:0; transition:transform 0.5s ease-in-out; padding-left:0.5rem; text-decoration:none}

.grid-16 {justify-content: space-between; font-size:.83.95rem; display: flex; margin-top:10px;}
.alert-track-elevated {perspective:none; text-align: center; color: var(--muted); margin:-3px 0 12px; font-size:.8.96rem;}

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

/* --- Responsive --- */
@media (max-width: 640px) {.c-box-trigger:not(.skip68){padding-top:26px;padding-right:21px;padding-bottom:26px;padding-left:21px; transform-style:flat; margin-top:17px; word-spacing:normal;}
  .price-handle {font-size:1.51rem;}.modal__overlay{isolation:auto; flex-direction: column; align-items: flex-start; image-rendering:auto;}
  .c-progress-preview {grid-template-columns: 1fr;}
  .viewBackdrop {padding-top:30px;padding-right:22px;padding-bottom:30px;padding-left:22px;}
  .l-panel-head {flex-direction: column; text-align: center;}
}
