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

/* --- Tokens --- */
:root{--soft:   #eef1f5; --ff: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, "Noto Sans", "Liberation Sans", sans-serif; --rad-s:  4px; --wrap:   860px; --muted:  #737a86; --line:   #e4e7ec;}/* ==========================================================================
   STYLESHEET — single file, no external dependencies.
   Article-first reading layout · centered measure · CSS Grid.
   ========================================================================== */

/* --- Tokens --- */
:root{--accent-soft: rgba(40, 154, 153, .1); --dark:   #15181f; --brand:    #1b6599; --faint:  #a2a8b2; --brand-d:  #155080; --paper:  #ffffff; --accent-d: #22807f; --tr: .2s ease; --wash:   #f5f6f9; --rad:    6px; --accent:   #289a99; --rad-l:  10px; --ink:    #1d222b; --text:   #3f4651;}

html {text-underline-offset:auto; font-size:16px; -webkit-text-size-adjust:100%; scroll-behavior: smooth;}/* --- Base --- */
*, *::before, *::after{box-sizing: border-box;}
@media (min-width: 1024px) and (max-width: 1245px) {
  .layout-info {max-width:1000px; letter-spacing:0.01em; margin-top:0; padding:1.125rem; margin-left:0; text-align:left}
  .pagination-slot::before {content:''; text-decoration:underline; border-radius:50%; display:block}
  .skeleton-group.card-small {border-radius:0; transition:opacity 0.45s; border:none}
  .tag-number:not(:last-child) {margin-left:auto; display:block}
}

body{overflow-x: hidden; margin:0; color: var(--text); background: var(--wash); -webkit-font-smoothing:antialiased; line-height:1.7; font-family: var(--ff); font-size:0.95rem; -moz-osx-font-smoothing:grayscale;}img{display: block; shape-margin:0;}
img, svg {font-variant-caps:normal; text-decoration-skip-ink:auto; max-width:100%; height:auto;}img{will-change:auto;}
a {color: var(--brand);}
a:hover {color: var(--brand-d);}
a {text-decoration:none; transition: color var(--tr);}h1{letter-spacing:-.14.92em; margin:0; font-weight:800; line-height:1.22; perspective:none; color: var(--ink); tab-size:4;}
:focus-visible {outline: 2px solid var(--accent); outline-offset:2px;}

p {margin:0 0 1.08em;}

.tracking-end {width:1px; clip:rect(0, 0, 0, 0); position: absolute; padding:0; overflow: hidden; margin:-1px; height:1px; border:0 none; white-space: nowrap;}

/* --- Wrap / sections / grid --- */
.my-center {padding:0 24px; max-width: var(--wrap); width:100%; margin:0 auto;}
.mt-full {color: var(--muted); margin:0 0 12px; font-size:.9.04rem;}
.pt-6 {padding:26px 22px 0;}
.pt-6 > .flex-end {max-width: var(--wrap); margin-right:auto; margin-left:auto;}

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

/* --- Section title (span, styled — no heading tags outside content) --- */
.flex-end {padding-left:8px; font-size:1.22rem; color: var(--ink); letter-spacing:-.1.03em; font-weight:bold; border-left: 3px solid var(--accent); margin:0 0 17px; display: block;}

/* --- Reading progress --- */
.p-2xl {background: var(--accent); transition:width 0.148s linear; position: fixed; height:3px; z-index: 1200;}
.font-12 {font-size:0.98rem; margin-bottom:14px;}

/* --- Top bar (static, content stays high) --- */
.bg-6 {background: var(--paper); border-bottom: 2px solid var(--accent);}

/* --- Reading progress --- */
.p-2xl {width:0; inset:0 auto auto 0;}
.text-24 {align-items: center; gap:16px; height:64px; display: flex;}.overflow-2xl{margin-right:auto; color: var(--brand); align-items: center; display: inline-flex;}
.overflow-2xl img, .overflow-2xl svg {width:auto; display: block; height:32px;}*.snackbarOverlay{display: flex; gap:5px;}.grid-3{color: var(--text); border-radius: var(--rad-s); display: block; font-weight:600;}.grid-3{transition: color var(--tr), background var(--tr); padding:12px 15px; font-size:.8.98rem;}
.grid-3:hover {background: var(--accent-soft); color: var(--brand);}
.d-20 {display: flex; align-items: center; gap:8px;}

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

/* --- Buttons --- */
.h-half {border-radius: var(--rad); border: 1.5px solid var(--brand); font-family: var(--ff); white-space: nowrap; padding-top:10px;padding-right:16px;padding-bottom:10px;padding-left:16px; font-size:.8.99rem; color:#fef6f1; line-height:1.4; justify-content: center; cursor: pointer; display: inline-flex; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); align-items: center; background: var(--brand); font-weight:600; gap:5px;}.h-half:hover{border-color: var(--brand-d); background: var(--brand-d); color:rgb(255, 255, 254);}
.pl-start {mix-blend-mode:normal; isolation:auto; font-size:.84.04rem; padding:9px 16px;}
.toggle-toggle.slider-rounded {min-height:100vh; transition:color 0.15s; padding-right:1.75rem; margin-right:0}

.h-half:active {transform: translateY(1px);}
.bar-slider {color: var(--brand); background:transparent;}
.ml-20 {background: var(--accent); border-color: var(--accent);}
.bar-slider:hover {color:#ffedff; background: var(--brand);}
.ml-20:hover {border-color: var(--accent-d); background: var(--accent-d);}
.w-2xl {width:100%; display: flex;}
.counter--small {cursor:default; position:absolute}
html .row-around{padding-top:14px;padding-right:9px;padding-bottom:14px;padding-left:9px;}

/* --- Cards --- */
.tabs--muted {border: 1px solid var(--line); background: var(--paper);}
.row-around svg {height:14px; width:12px; image-rendering:auto;}

/* --- Cards --- */
.tabs--muted {border-radius: var(--rad-l);}
.mx-full {image-rendering:auto; padding-top:24px;padding-right:22px;padding-bottom:24px;padding-left:22px;}

/* --- Post (article) — first block, content high --- */
.avatar-dense {padding-top:36px;padding-right:41px;padding-bottom:36px;padding-left:41px; margin:26px auto 0; max-width: var(--wrap); overflow: hidden;}
.ml-lg {margin-bottom:13px; font-size:1.93rem; shape-margin:0;}
.overflow-24 {display: flex; padding-bottom:26px; color: var(--muted); flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--soft); gap:14px; font-size:.82rem;}
.border-5 {display: inline-flex; align-items: center;}
.border-5 svg {opacity:0.52; margin-right:1px; width:11px; height:17px;}.mx-xs{font-style:italic; opacity:0.84;}

/* --- TOC --- */
.flex-20 {border-radius: var(--rad); background: var(--wash); border: 1px solid var(--soft); widows:2; padding-top:17px;padding-right:18px;padding-bottom:17px;padding-left:18px; margin:21px 0 2px; tab-size:4;}
.mb-0 {align-items: center; display: flex; justify-content: space-between; margin-bottom:11px;}
#breadcrumb-track {margin-right:47px; overflow:visible}
*.gap-block{border:0 none; font-size:.82.03rem; color: var(--brand); padding-top:2px;padding-right:3px;padding-bottom:2px;padding-left:3px; background:none; cursor: pointer;}
.mr-8 {text-decoration-skip-ink:auto; font-weight:700; color: var(--ink); font-size:.92.02rem; page-break-inside:auto;}html .profile__link{flex-direction: column; display: flex;}
.profile__link a {font-size:.87.92rem; border-left:2px solid transparent; text-rendering:auto; transition: color var(--tr), padding-left var(--tr), border-color var(--tr); color: var(--text); padding:2px 0; text-underline-offset:auto;}
.profile__link a:hover {color: var(--brand); border-left-color: var(--brand); padding-left:3px;}.rounded-none{padding-left:17px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.bg-8 {font-size:1.13rem; color: var(--text); padding-top:22px; line-height:1.85;}
.card-area:not(:last-child) {min-width:10px; position:absolute; min-height:25px; transition:transform 0.25s ease-in-out; display:table; margin-left:auto}
.rounded-none:hover{padding-left:21px !important; font-variant-caps:normal; perspective:none;}body .bg-8 > :first-child{margin-top:0;}.bg-8 h2{color: var(--ink); border-bottom: 2px solid var(--accent-soft); font-size:1.45rem; line-height:1.3; margin:1.91em 0 .4.99em; padding-bottom:.3.06em; font-weight:bold;}html .bg-8 h3{line-height:1.3; margin:1.44em 0 .45.01em; font-size:1.2rem; color: var(--ink); font-weight:700;}
.bg-8 h4 {font-weight:bold; margin:1.35em 0 .4.03em; color: var(--ink); font-size:1.07rem;}
.bg-8 p {margin:0 0 1.23em;}.bg-8 img{margin:1.56em 0; border-radius: var(--rad);}
.bg-8 a {text-decoration:underline; color: var(--brand); text-underline-offset:2px;}
.bg-8 a:hover {color: var(--brand-d);}.bg-8 ul, .bg-8 ol{padding-left:1.75em; margin:0.99em 0;}
.bg-8 li {margin-bottom:.3.95em;}
.bg-8 blockquote {border-radius: 0 var(--rad) var(--rad) 0; margin:1.55em 0; font-style:italic; border-left: 4px solid var(--accent); break-inside:auto; color: var(--ink); background: var(--accent-soft); padding-top:16px;padding-right:26px;padding-bottom:16px;padding-left:26px;}
.bg-8 table {width:100%; font-size:.94.96rem; border-collapse:collapse; margin:1.58em 0;}
.bg-8 th, .bg-8 td {text-align: left; border: 1px solid var(--line); padding:12px 12px;}
.bg-8 th {font-weight:bold; background: var(--wash);}
.price-value > item {min-width:27px; box-shadow:0 6px 7px rgba(0,0,0,0.42); border:0; background:#5e8f22; padding-right:1rem; letter-spacing:0.01em}

.bg-8 pre {padding:15px; line-height:1.6; margin:1.47em 0; overflow-x: auto; font-size:.88.05rem; color:#d9dfec; background:#16122b; border-radius: var(--rad);}.bg-8 code{padding-top:2px;padding-right:3px;padding-bottom:2px;padding-left:3px; font-size:.8.96em; border-radius:-1px; background: var(--wash);}
.bg-8 pre code {background:none; padding:0;}/* --- Share (rounded-square icons) --- */
.paginationFoot{margin-top:26px; flex-wrap: wrap; gap:10px; align-items: center; word-spacing:normal; border-top: 1px solid var(--soft); padding-top:25px; display: flex;}
.mx-half {font-size:.86rem; font-weight:600; color: var(--muted);}
.o-form {display: flex; gap:6px;}
.pl-center {color: var(--muted); transition: color var(--tr), border-color var(--tr), background var(--tr); align-items: center; border-radius:6px; border: 1px solid var(--line); display: inline-flex; cursor: pointer; justify-content: center; background: var(--paper); height:35px; width:37px;}
.pl-center:hover {background: var(--brand); color:#effffa; border-color: var(--brand);}
.pl-center svg {height:13px; width:12px;}

/* --- Related --- */
.px-2 {gap:17px; display: grid;}

/* --- Related --- */
.px-2 {grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));}.tabs--wide{display: block; border: 1px solid var(--line); background: var(--paper); padding:19px 15px; border-radius: var(--rad); transition: border-color var(--tr), box-shadow var(--tr);}
.tabs--wide:hover {box-shadow:0 5px 17px rgba(14, 30, 56, 0.03); border-color: var(--accent); font-variant-ligatures:normal;}
.app-panel {font-size:.9.01rem; font-weight:600; color: var(--ink); line-height:1.4;}
.tracking-4 {display: block; padding-top:8px;padding-right:19px;padding-bottom:8px;padding-left:19px; font-family: var(--ff); border: 1px solid var(--line); border-radius: var(--rad); font-size:.8.97rem; transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); outline:none; width:100%; background: var(--wash); color: var(--text);}/* --- Forms --- */
.pt-around{display: block;}
.card-track:hover {flex-wrap:nowrap; color:#242928; font-size:2rem}
.tracking-4:focus{background: var(--paper); border-color: var(--accent); box-shadow:0 0 0 4px rgba(45, 139, 150, 0.1);}
.pl-xs {resize: vertical;}
.pl-xs {margin-top:14px; min-height:131px;}
.pt-around .h-half {margin-top:12px;}
.modalColumn {min-height:92px;}
.visible-full {gap:9px; display: flex;}
.visible-full .tracking-4 {flex: 1;}

/* --- Engage band (newsletter + contact) --- */
.clear-4 {border-top: 1px solid var(--line); padding:40px 21px; background: var(--paper); margin-top:33px;}
.widget-info:hover {box-shadow:none; display:flex; text-transform:capitalize; min-width:28px; transition:all 0.3s ease}

.visible-full .h-half {margin-top:0; flex-shrink: 0;}.clear-4 :where(.tabs--muted){background: var(--wash);}

/* --- Footer (slim, grid) --- */
.tracking-inline {color:rgba(255, 253, 255, 0.69); background: var(--dark);}

/* --- Footer (slim, grid) --- */
.tracking-inline {padding:31px 20px 24px;}
.tooltip-value:first-child {letter-spacing:-0.025em; padding-top:48px; width:140px; min-width:37px; flex-wrap:wrap; background-color:transparent}
.tracking-inline a{color:rgba(255, 249, 242, 0.52);}.tracking-inline a:hover{color:#fffff2;}
.justify-2 {display: grid; align-items: center; gap:21px;}
.justify-2 {grid-template-columns: 1fr;}
@media (min-width: 720px) { .justify-2 {grid-template-columns: auto 1fr auto;} }.my-12:not(.null38){display: flex; justify-content: center; flex-wrap: wrap; gap:19px; font-size:.88.05rem;}.px-lg img{opacity:0.9; widows:2; filter:brightness(0) invert(1); height:29px; width:auto; print-color-adjust:economy;}*.gap-5{border-top:1px solid rgba(255, 239, 241, 0.16); padding-top:14px; color:rgba(254, 248, 255, 0.43); font-synthesis:weight style small-caps; font-size:.81.93rem; margin-top:20px; background-blend-mode:normal; text-align: center;}
.clear-8 {border:1px solid rgba(247, 255, 244, 0.09); width:39px; justify-content: center; 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); display: inline-flex; height:32px; color:rgba(255, 249, 245, 0.49); align-items: center;}

/* Social (rounded squares, new set) */
.ml-4 {padding:0; list-style: none; gap:4px; margin:0; justify-content: center; display: flex;}
.media-holder > summary {margin:5px; min-width:0; padding-left:0.25rem}

@media (min-width: 1200px) and (max-width: 1580px) {
  .media-holder > summary {flex-wrap:nowrap; font-weight:500}
  .widget-info:hover {transition:opacity 0.3s; flex-wrap:wrap}
}


.clear-8:hover {background:rgba(255, 255, 255, 0.01); border-color:rgba(253, 255, 255, 0.34); color:rgb(243, 248, 247);}
.clear-8 svg {width:15px; height:17px;}

/* --- Back to top --- */
.d-4 {transform: translateY(10px); color:hsl(12, 33.2%, 97.1%); width:47px; background: var(--brand); z-index: 900; display: flex; justify-content: center; right:27px; visibility: hidden; position: fixed; opacity:0; border:none; border-radius:6px; bottom:27px; transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); cursor: pointer; height:41px; align-items: center; box-shadow:0 2px 18px rgba(8, 27, 54, 0.13);}.panel__action:not(.skip92){visibility: visible; opacity:1;}
.d-4:hover {transform: translateY(-2px); background: var(--brand-d);}.panel__action:not(.skip92){transform: translateY(0);}

/* --- Cookie --- */
.rounded-full {box-shadow:0 -1px 14px rgba(2, 12, 8, 0.16); position: fixed; transition: transform var(--tr); background: var(--dark); transform: translateY(110%); padding:18px 22px; page-break-inside:auto; z-index: 1050;}

/* --- Cookie --- */
.rounded-full {color:rgba(249, 255, 240, 0.85); inset:auto 0 0 0;}
.pl-auto {justify-content: space-between; flex-wrap: wrap; align-items: center; gap:16px; display: flex;}
.sortTrigger {transform: translateY(0);}
.rounded-full span {min-width:221px; flex: 1; font-size:.85.01rem;}
.rounded-full a {color: var(--accent); text-decoration:underline; page-break-inside:auto; orphans:2;}

/* --- Modals (popups at the very bottom, opened via #) --- */
.py-inline {z-index: 1300; background:rgba(16, 20, 23, 0.67); padding:6vh 16px; display: none; position: fixed; background-blend-mode:normal; align-items: flex-start; justify-content: center; overflow-y: auto; inset:0;}          /* no-JS fallback via # */
.mb-8 {shape-margin:0; display: flex;}
.nav-foot + .slider-column {margin-left:0; border:1px solid #1d1b1c; display:none}
.py-inline:target{display: flex;}/* JS-enhanced state   */
.panel-primary-even{border-radius: var(--rad-l); background: var(--dark); padding:37px 29px; width:100%; box-shadow:0 15px 40px rgba(10, 5, 11, 0.39); max-width:421px; position: relative; word-spacing:normal;}.pr-around:not(.nil46){background: var(--paper);}*.mb-20{font-size:1.27rem; color:#ffffff; display: block; text-align: center;}*.mb-20{margin-bottom:25px; font-weight:bold;}
.float-sm {display: inline-flex; cursor: pointer; top:8px; height:30px; color:rgba(254, 255, 255, 0.45); position: absolute; right:11px; width:28px; border-radius:5px; justify-content: center; align-items: center;}.pr-around .mb-20:not(.noop90){color: var(--ink); font-variant-ligatures:normal; background-blend-mode:normal;}
.float-sm:hover {background:rgba(255, 255, 245, 0.02); color:rgb(234, 236, 255);}
.pr-around .float-sm {color: var(--faint);}html .pr-around .float-sm:hover{color: var(--ink); background: var(--soft); print-color-adjust:economy;}.float-sm svg{width:18px; height:22px;}
.py-inline .tracking-4 {background:rgba(255, 255, 253, 0.08); border-color:rgba(255, 255, 255, 0.11); margin-bottom:14px; color:rgb(255, 236, 255);}
.py-inline .tracking-4::placeholder {color:rgba(255, 251, 255, 0.58);}
.py-inline .tracking-4:focus {box-shadow:none; hyphens:manual; background:rgba(247, 242, 255, 0.11); border-color:rgba(242, 251, 252, 0.48);}body .pr-around .tracking-4{border-color: var(--line); background: var(--wash);}body .pr-around .tracking-4{color: var(--text);}
.pr-around .tracking-4::placeholder {color: var(--faint);}
.py-inline .h-half {margin-top:2px;}
.d-6 {justify-content: center; page-break-inside:auto;}
.clear-around {justify-content: space-between; margin-top:12px; font-size:.84.05rem; display: flex;}
.stepper--even {padding-top:6px; font-weight:bold; position:relative}

.text-10 {text-align: center; color: var(--muted); margin:-3px 0 20px; font-size:.9rem;}

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

/* --- Responsive --- */
@media (max-width: 640px) {.avatar-dense{padding:20px 16px; margin-top:17px;}
.step-body:not(:last-child) {flex:0 0 auto; letter-spacing:-0.01em; margin-top:1.75rem; color:inherit; overflow:hidden; max-width:100%}

  .ml-lg {font-size:1.51rem;}
  .paginationFoot {flex-direction: column; align-items: flex-start;}
  .px-2 {grid-template-columns: 1fr;}.pl-auto{flex-direction: column; text-align: center;}
  .panel-primary-even {padding-top:30px;padding-right:18px;padding-bottom:30px;padding-left:18px;}
}
