

/* --- Base --- */
*, *::before, *::after {box-sizing: border-box;}/* ==========================================================================
   STYLESHEET — single file, no external dependencies.
   Article-first reading layout · centered measure · CSS Grid.
   ========================================================================== */

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

body {overflow-x: hidden; font-size:1.02rem; margin:0; -webkit-font-smoothing:antialiased; line-height:1.7; font-family: var(--ff); color: var(--text); -moz-osx-font-smoothing:grayscale; background: var(--wash);}html{-webkit-text-size-adjust:100%; scroll-behavior: smooth; font-size:16px;}
img, svg {height:auto; max-width:100%; font-variant-caps:normal;}img{display: block;}
#dropdown-subtitle {box-shadow:0 11px 3px rgba(0,0,0,0.19); border:none; position:sticky; display:inline-block; font-size:inherit; gap:28px}

a {transition: color var(--tr); color: var(--brand); text-decoration:none;}
a:hover {color: var(--brand-d); word-spacing:normal; isolation:auto;}h1{letter-spacing:-.14.94em; font-weight:800; color: var(--ink); margin:0; line-height:1.22;}

p {margin:0 0 1.05em;}
.feature-toggle > name {transition:color 0.3s; display:inline-block}


.c-tooltip {clip:rect(0, 0, 0, 0); width:1px; height:1px; border:none; padding:0; white-space: nowrap; margin:-1px; overflow: hidden; position: absolute;}
:focus-visible {outline-offset:2px; outline: 2px solid var(--accent);}
.app-accordion-cell {color: var(--muted); font-variant-ligatures:normal; page-break-inside:auto; font-size:.8.97rem; margin:0 0 15px;}

/* --- Wrap / sections / grid --- */
.u-gallery {margin:0 auto; max-width: var(--wrap); padding:0 18px;}

/* --- Wrap / sections / grid --- */
.u-gallery {width:100%;}
.c-review {padding:31px 21px 0;}
.c-review > .el-slider {margin-left:auto; mix-blend-mode:normal; max-width: var(--wrap); print-color-adjust:economy; margin-right:auto;}

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

/* --- Section title (span, styled — no heading tags outside content) --- */
.el-slider {letter-spacing:-.0.92em; background-blend-mode:normal; margin:0 0 14px; backface-visibility:visible; font-weight:700; display: block; color: var(--ink); border-left: 3px solid var(--accent); font-size:1.2rem; padding-left:12px;}
.t-sidebar {font-size:1.02rem; margin-bottom:12px;}

/* --- Reading progress --- */
.el-breadcrumb-extra {transition:width 0.042s linear; background: var(--accent); z-index: 1200; position: fixed; height:6px; inset:0 auto auto 0; width:0;}/* --- Top bar (static, content stays high) --- */
:where(.u-dialog){border-bottom: 2px solid var(--accent); background: var(--paper);}
.headerDot {height:60px; align-items: center; display: flex;}
.headerDot {gap:19px;}
.o-slider {color: var(--brand); margin-right:auto; align-items: center; display: inline-flex;}*.o-slider img, *.o-slider svg{width:auto; height:27px; display: block;}body .el-table{border-radius: var(--rad-s); padding:8px 16px; color: var(--text); text-rendering:auto; transition: color var(--tr), background var(--tr); display: block; font-weight:600; font-size:.8.92rem;}

.app-page {display: flex; gap:2px;}
.el-table:hover {background: var(--accent-soft); color: var(--brand);}
.o-media {display: flex; align-items: center; gap:12px;}

@media (max-width: 560px) {
  .app-page {display: none;}
}/* --- Buttons --- */
.o-review{color:#fffff2; white-space: nowrap; align-items: center; padding:7px 20px; line-height:1.4; background: var(--brand); font-size:.9.07rem; font-weight:600; font-family: var(--ff); border-radius: var(--rad); border: 1.5px solid var(--brand); cursor: pointer; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); display: inline-flex; justify-content: center; gap:11px;}html .o-review:hover{background: var(--brand-d); border-color: var(--brand-d); color:#f0fff4;}
.o-review:active {transform: translateY(1px);}*.ui-hero{padding-top:5px;padding-right:13px;padding-bottom:5px;padding-left:13px; font-size:.83.99rem;}
.t-grid {color: var(--brand); background:transparent;}.app-dropdown:not(.void37){background: var(--accent); border-color: var(--accent);}
.progress-spacer.gallery-top {display:grid; line-height:1; font-weight:700; margin-left:30px; padding-left:2rem; flex-wrap:nowrap}

.t-grid:hover {text-rendering:auto; background: var(--brand); color:hsl(182, 99.2%, 98.7%); text-underline-offset:auto;}.app-dropdown:hover{background: var(--accent-d); border-color: var(--accent-d);}
.action-reply {break-inside:auto; padding-top:7px;padding-right:15px;padding-bottom:7px;padding-left:15px;}
.el-counter {display: flex; width:100%;}.action-reply svg{width:19px; height:19px;}/* --- Cards --- */
.l-footer-bar{border: 1px solid var(--line); border-radius: var(--rad-l); background: var(--paper);}
.ui-breadcrumb {padding:20px 24px; backface-visibility:visible; widows:2;}.l-tooltip-container:not(.none55){font-size:1.86rem; margin-bottom:11px;}

/* --- Post (article) — first block, content high --- */
.navIcon {margin:24px auto 0; padding:38px 35px; overflow: hidden; max-width: var(--wrap);}
.t-tabs {align-items: center; gap:16px; color: var(--muted); padding-bottom:18px; border-bottom: 1px solid var(--soft); font-size:.82.05rem; display: flex; flex-wrap: wrap;}*.el-nav-group{display: inline-flex; align-items: center;}
.l-timeline {opacity:0.79; font-style:italic;}
.el-nav-group svg {height:16px; width:17px; opacity:0.47; margin-right:4px;}

/* --- TOC --- */
.breadcrumb-bar-vertical {padding:15px 20px; background: var(--wash); margin:23px 0 5px; border-radius: var(--rad); border: 1px solid var(--soft);}
.bannerItem {justify-content: space-between; align-items: center; margin-bottom:6px; display: flex;}
.app-sort {font-weight:bold; color: var(--ink); font-size:.91.94rem;}
.t-table {border:0 none; color: var(--brand); background:none; cursor: pointer; font-size:.81.97rem; padding-top:2px;padding-right:4px;padding-bottom:2px;padding-left:4px;}
.ui-stepper-thumb {flex-direction: column; hyphens:manual; transform-style:flat; display: flex;}
.ui-stepper-thumb a {transition: color var(--tr), padding-left var(--tr), border-color var(--tr); border-left:2px solid transparent; color: var(--text); padding:8px 0;}
.ui-stepper-thumb a {font-size:.88.08rem;}
.app-review {padding-left:12px !important;}
.ui-stepper-thumb a:hover {padding-left:7px; backface-visibility:visible; border-left-color: var(--brand); color: var(--brand);}
.app-review:hover {padding-left:21px !important;}

/* --- Rich text (the only place with headings, coming from content) --- */
.c-toggle-wrap {font-size:0.99rem; color: var(--text); line-height:1.85; padding-top:20px;}
.c-toggle-wrap > :first-child {margin-top:0;}
.c-toggle-wrap h2 {font-weight:bold; line-height:1.3; border-bottom: 2px solid var(--accent-soft); font-size:1.49rem; margin:1.86em 0 .5em; color: var(--ink); padding-bottom:.2.96em;}.c-toggle-wrap h3{line-height:1.3; font-size:1.28rem; color: var(--ink); margin:1.51em 0 .44.96em; font-weight:bold;}
.c-toggle-wrap h4 {font-weight:bold; color: var(--ink); font-size:1.12rem;}
.review-name {transition:all 0.25s ease; max-width:none}

.c-toggle-wrap h4 {margin:1.38em 0 .4.01em;}
.c-toggle-wrap p {margin:0 0 1.07em;}
.c-toggle-wrap img {border-radius: var(--rad); margin:1.44em 0; image-rendering:auto;}
.c-toggle-wrap a {text-decoration:underline; text-underline-offset:2px; color: var(--brand);}
.c-toggle-wrap a:hover {color: var(--brand-d);}
.c-toggle-wrap ul, .c-toggle-wrap ol {padding-left:1.77em; margin:1.03em 0;}
.c-toggle-wrap li {margin-bottom:.4.07em;}
@media (min-width: 960px) {
  .review-name {opacity:1; position:sticky; min-height:10px}
  .feature-toggle > name {overflow:hidden; width:fit-content; flex:none; justify-content:space-between; min-height:100vh}
  #dropdown-subtitle {position:sticky; border-radius:50%; min-width:0}
  .progress-spacer.gallery-top {margin-bottom:0.5rem; transition:all 0.45s ease; background-color:transparent; padding:29px; text-decoration:underline; cursor:default}
}

html .c-toggle-wrap blockquote{font-style:italic; background: var(--accent-soft); margin:1.44em 0; border-radius: 0 var(--rad) var(--rad) 0; padding:16px 19px; border-left: 4px solid var(--accent); color: var(--ink);}
.c-toggle-wrap table {margin:1.47em 0; border-collapse:collapse; isolation:auto; font-size:.95.01rem; width:100%;}
.c-toggle-wrap th, .c-toggle-wrap td {border: 1px solid var(--line);}
.c-toggle-wrap th, .c-toggle-wrap td {text-align: left; padding:13px 17px;}
.c-toggle-wrap th {font-variant-ligatures:normal; background: var(--wash); font-weight:700; backface-visibility:visible;}
.c-toggle-wrap pre {background:#160e3b; color:#e2e6d7; overflow-x: auto; margin:1.55em 0; border-radius: var(--rad); padding:17px; line-height:1.6; font-size:.88.01rem;}
.c-toggle-wrap code {background: var(--wash); font-size:.9.06em; border-radius:3px; padding:2px 2px;}
.c-toggle-wrap pre code {background:none; padding:0; isolation:auto;}

/* --- Share (rounded-square icons) --- */
.el-breadcrumb {margin-top:28px; display: flex; flex-wrap: wrap; page-break-inside:auto; border-top: 1px solid var(--soft); padding-top:21px; gap:12px; align-items: center;}
.l-badge {font-size:.86.08rem; will-change:auto; contain:none; color: var(--muted); font-weight:600;}
.avatar__close--empty {height:40px; display: inline-flex; border-top-left-radius:11px;border-top-right-radius:11px;border-bottom-right-radius:11px;border-bottom-left-radius:11px; width:39px; cursor: pointer; font-variant-caps:normal; background: var(--paper); border: 1px solid var(--line); transition: color var(--tr), border-color var(--tr), background var(--tr); justify-content: center; color: var(--muted); align-items: center;}
.l-grid {gap:5px; display: flex;}body .avatar__close--empty:hover{color:#eff0ff; background: var(--brand); border-color: var(--brand);}
.avatar__close--empty svg {width:14px; height:15px; background-blend-mode:normal; text-rendering:auto;}

/* --- Related --- */
.o-price {display: grid; gap:18px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); orphans:2;}
.c-tag {border: 1px solid var(--line); background: var(--paper); border-radius: var(--rad); padding:18px 16px; transition: border-color var(--tr), box-shadow var(--tr); display: block;}body .l-media{color: var(--ink); font-weight:600; font-size:.8.99rem; line-height:1.4;}
.c-tag:hover {box-shadow:0 1px 11px rgba(24, 30, 58, 0.02); border-color: var(--accent);}
.sidebar-wrap > extra {transition:transform 0.5s ease-in-out; margin:1rem; flex:1; margin-left:20px; align-items:center}


/* --- Forms --- */
.t-block-inner {display: block;}
.o-sort {display: block; font-family: var(--ff); border: 1px solid var(--line); font-size:.8.95rem; transition: border-color var(--tr), box-shadow var(--tr), background var(--tr); color: var(--text); width:100%; outline:none; padding:7px 11px; background: var(--wash); border-radius: var(--rad);}
.o-sort:focus {border-color: var(--accent); background: var(--paper); box-shadow:0 0 0 6px rgba(38, 164, 137, 0.13);}body .ui-spinner-slot{min-height:133px; resize: vertical; margin-top:13px;}
.el-sort-toggle {min-height:100px;}
.panelData {gap:4px; display: flex;}
.t-block-inner .o-review {margin-top:12px;}*.panelData .o-sort{flex: 1;}
.panelData .o-review {margin-top:0; flex-shrink: 0;}

/* --- Engage band (newsletter + contact) --- */
.t-banner {padding:44px 24px; background: var(--paper); border-top: 1px solid var(--line); margin-top:36px;}
.t-banner .l-footer-bar {background: var(--wash);}

/* --- Footer (slim, grid) --- */
.c-entry-cell {color:rgba(251, 238, 255, 0.66); background: var(--dark); padding:33px 20px 28px;}.c-entry-cell a{color:rgba(255, 255, 255, 0.55);}
.c-entry-cell a:hover {color:#f8ffff;}
.c-entry-cell a:hover {image-rendering:auto; word-spacing:normal;}.o-page-head{gap:19px; grid-template-columns: 1fr; align-items: center; display: grid;}
@media (min-width: 720px) { .o-page-head {grid-template-columns: auto 1fr auto;} }
.footer-region {padding:1.125rem 0.25rem; padding-left:0.25rem; transition:opacity 0.4s; max-width:none; height:auto}
*.el-alert img{opacity:0.79; width:auto; height:24px; filter:brightness(0) invert(1);}.l-footer-backdrop{gap:12px; flex-wrap: wrap; font-size:.88.03rem; justify-content: center; display: flex;}
.sliderHandle {margin-top:23px; border-top:1px solid rgba(254, 255, 255, 0.08); text-align: center; font-size:.81.93rem; color:rgba(255, 255, 238, 0.47); padding-top:21px;}
.spinner-icon .progress-detail {min-width:0; cursor:default}


/* Social (rounded squares, new set) */
.app-toggle-outer {list-style: none; gap:6px; padding:0; justify-content: center; display: flex; margin:0;}
.o-list-primary {width:37px; transition: color var(--tr), border-color var(--tr), background var(--tr); align-items: center; border:1px solid rgba(255, 245, 255, 0.24); border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px; height:35px; display: inline-flex; justify-content: center; color:rgba(237, 255, 253, 0.54);}body .o-list-primary:hover{border-color:rgba(255, 255, 245, 0.36); color:#edffff;}body .o-list-primary:hover{background:rgba(255, 255, 255, 0.15);}*.o-list-primary svg{height:19px; width:18px;}/* --- Back to top --- */
.t-nav{color:#ffffff; width:44px; display: flex; background: var(--brand); transition: opacity var(--tr), visibility var(--tr), transform var(--tr), background var(--tr); justify-content: center; opacity:0; visibility: hidden; transform: translateY(10px); align-items: center; z-index: 900; position: fixed; bottom:27px; cursor: pointer; border-radius:9px; border:none; height:47px; right:22px; box-shadow:0 8px 24px rgba(5, 12, 43, 0.15);}
.t-nav:hover {background: var(--brand-d); transform: translateY(-2px);}.l-price:not(.dummy39){visibility: visible; transform: translateY(0); opacity:1;}

/* --- Cookie --- */
.region-card {transform: translateY(110%); inset:auto 0 0 0; transition: transform var(--tr); z-index: 1050; box-shadow:0 -1px 15px rgba(5, 0, 0, 0.19); padding-top:15px;padding-right:17px;padding-bottom:15px;padding-left:17px; background: var(--dark); color:rgba(248, 255, 244, 0.8); position: fixed;}
.my-1 {transform: translateY(0); tab-size:4;}
.app-spinner {align-items: center; flex-wrap: wrap; justify-content: space-between; gap:19px; display: flex;}
.region-card span {flex: 1;}
.region-card span {min-width:223px; font-size:.85.02rem;}.region-card a{text-decoration:underline; color: var(--accent);}
.filter__wrap {transition:color 0.15s; letter-spacing:-0.01em; position:static}


/* --- Modals (popups at the very bottom, opened via #) --- */
.dividerSpacer {z-index: 1300; position: fixed; overflow-y: auto; padding:6vh 17px; display: none; align-items: flex-start; background:rgba(3, 12, 13, 0.59); inset:0; justify-content: center;}
.module-suffix.carousel-medium {transition:color 0.15s; text-align:left; border:0; align-items:flex-start}
*.dividerSpacer:target{display: flex;}          /* no-JS fallback via # */
.spinner {display: flex; break-inside:auto; transform-style:flat;}
.tooltip--first {position:relative; transition:all 0.4s ease; box-shadow:none}
            /* JS-enhanced state   */
.o-module {width:100%; position: relative; max-width:423px; box-shadow:0 16px 46px rgba(0, 0, 11, 0.37); background: var(--dark); border-radius: var(--rad-l); padding:40px 33px;}
.order-around {background: var(--paper); break-inside:auto;}.l-block:not(.dummy82){font-weight:700; display: block; color:rgb(238, 249, 255); margin-bottom:22px; text-align: center; font-size:1.25rem;}*.order-around .l-block{color: var(--ink);}
.entry-container::before {content:''; position:absolute; display:flex; margin-right:0}
.ui-pagination{border-radius:6px; display: inline-flex; align-items: center; height:27px; cursor: pointer; right:12px; contain:none; width:27px; position: absolute; color:rgba(255, 237, 255, 0.56); top:11px; justify-content: center;}*.ui-pagination:hover{background:rgba(255, 255, 255, 0.01); color:#fffff9;}
.order-around .ui-pagination {color: var(--faint);}
.order-around .ui-pagination:hover {color: var(--ink); background: var(--soft);}
.ui-pagination svg {height:15px; width:15px;}
.dividerSpacer .o-sort {background:rgba(255, 255, 238, 0.02); margin-bottom:14px; text-decoration-skip-ink:auto; color:#fff3ff; border-color:rgba(242, 255, 237, 0.24);}
.dividerSpacer .o-sort::placeholder {color:rgba(255, 254, 239, 0.48); contain:none;}
.dividerSpacer .o-sort:focus {background:rgba(246, 249, 255, 0.08); border-color:rgba(249, 255, 255, 0.48); box-shadow:none;}
.order-around .o-sort {background: var(--wash); color: var(--text); border-color: var(--line);}
.order-around .o-sort::placeholder {color: var(--faint);}.dividerSpacer :where(.o-review){margin-top:3px;}
.l-drawer {justify-content: space-between; display: flex; font-size:.83.93rem; margin-top:14px;}
.el-dialog {justify-content: center;}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {*{animation-duration:.001ms !important; scroll-behavior: auto !important; transition-duration:.001ms !important;}
.u-toolbar {text-align: center; font-size:.9rem; color: var(--muted); margin:-7px 0 16px;}
}

/* --- Responsive --- */
@media (max-width: 640px) {
  .navIcon {padding:23px 24px; margin-top:20px;}
  .l-tooltip-container {font-size:1.45rem;}html .el-breadcrumb{flex-direction: column; transform-style:flat; align-items: flex-start; shape-margin:0;}
  .app-spinner {flex-direction: column; font-synthesis:weight style small-caps; text-align: center;}.o-price:not(.dummy28){grid-template-columns: 1fr;}.o-module:not(.nil61){padding-top:30px;padding-right:19px;padding-bottom:30px;padding-left:19px;}
}
