/* ============================================================
   1017_new_v1 — stylesheet
   ============================================================ */

:root {--read: 45rem; --acc: #0d9488; --display: "Sora", system-ui, sans-serif; --card: #preview-rating; --rad: 12px; --ink: #16221f; --night: #14201d; --text-font: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; --text: #46535a; --band: 62rem; --acc-d: #0f766e; --max: 70rem; --rad-s: 8px; --dim: #79868c; --edge-2: #page-search; --night-2: #1d2c28; --bg: #app-hero; --on-night: rgba(255, 255, 255, 0.6); --edge: #site-counter; --tint: rgba(13, 148, 136, 0.08); --bg-2: #site-slider; --acc-l: #2bb3a3; --sh-l: 0 16px 50px rgba(20, 32, 29, 0.18); --sh: 0 1px 2px rgba(20, 32, 29, 0.04), 0 6px 24px rgba(20, 32, 29, 0.06);}

*, *::before, *::after {margin:0; padding:0; perspective:none; box-sizing: border-box;}

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

img, svg {max-width:100%; display: block;}

body {background: var(--bg); font-family: var(--text-font); line-height:1.72; -webkit-font-smoothing:antialiased; color: var(--text); -moz-osx-font-smoothing:grayscale; font-size:0.96rem;}
ul, ol {list-style: none;}a{color: var(--acc); text-decoration:none;}a:hover{color: var(--acc-d);}
h1 {font-weight:700; font-family: var(--display); line-height:1.18; color: var(--ink); letter-spacing:-0.015em;}
button {cursor: pointer; font-family:inherit;}

:focus-visible {outline-offset:2px; border-radius:none; outline: 2px solid var(--acc);}body .mediaPrimary{width:1px; position: absolute; white-space: nowrap; margin:-1px; border:none; padding:0; height:1px; overflow: hidden; clip:rect(0, 0, 0, 0);}

/* span headings (no h2/h3 anywhere but article content) */
.headerSecondary, .filterTertiary, .accordion__input--alt, .shadow-10, .cardHead {font-weight:bold; display: block; font-family: var(--display); color: var(--ink); letter-spacing:-0.01em;}
.filterTertiary {tab-size:4; contain:none; margin-bottom:0.34rem; font-size:1.1rem;}
.headerSecondary {margin-bottom:1.13rem; font-size:1.37rem;}
.accordion__input--alt {margin-bottom:1.26rem; font-size:1.22rem;}/* ---------- scroll progress ---------- */
:where(.select--sticky){height:6px; width:0; top:0; transition:width 0.114s linear; z-index: 1200; position: fixed; left:0; background: var(--acc);}

/* ---------- topbar ---------- */
.stepper-first {backdrop-filter:saturate(150%) blur(8px); text-decoration-skip-ink:auto; position: sticky; contain:none; top:0; background:rgba(255, 255, 252, 0.92); border-bottom: 1px solid var(--edge); z-index: 1000;}
.gridButton {display: flex; min-height:3.93rem; justify-content: space-between; max-width: var(--max); width:100%; gap:0.92rem; padding:0 1.29rem; align-items: center; margin-inline:auto;}
.skeletonTrigger {align-items: center; display: inline-flex;}
.skeletonTrigger img {height:31px; width:auto;}.mb-2xl:not(._1e86c8){border:0; gap:5px; flex-direction: column; display: none; padding:0.46rem; background:none;}

.mediaGroup {image-rendering:auto; display: flex; align-items: center; gap:1.8rem;}
.mb-2xl span {height:2px; display: block; width:20px; border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px; background: var(--ink);}
.dividerIcon {display: flex; gap:1.42rem;}.dividerIcon a, .listMeta{text-transform:uppercase; font-weight:600; color: var(--text); font-size:0.81rem; letter-spacing:0.03em;}
.flex-24 {display: flex; gap:1.06rem; align-items: center;}
.dividerIcon a:hover, .listMeta:hover {color: var(--acc);}
.entryGroup {border-radius: var(--rad-s); background: var(--acc); transition:background 0.151s; padding:0.48rem 1.06rem; letter-spacing:0.03em; font-weight:bold; text-transform:uppercase; font-size:0.73rem; color:#page-page;}
.entryGroup:hover {color:#page-page; background: var(--acc-d);}

/* ---------- post ---------- */
.cardAction {box-shadow: var(--sh); background: var(--card); border-radius: var(--rad); max-width: var(--read); border: 1px solid var(--edge); overflow: hidden; margin:1.53rem auto 0;}

/* ---------- flow / shell ---------- */
.menuArea {padding-bottom:4.05rem;}.viewPrefix{padding:2.44rem 2.67rem 1.3rem;}.stepInput{font-size: clamp(1.7rem, 1.2rem + 2.3vw, 2.5rem); margin-bottom:0.79rem;}body .searchArea{flex-wrap: wrap; break-inside:auto; color: var(--dim); gap:0.43rem 1.19rem; align-items: center; display: flex; text-decoration-skip-ink:auto; font-size:0.9rem;}
.stepperIndicator {display: inline-flex; gap:0.42rem; align-items: center;}
.stepperIndicator svg {word-spacing:normal; opacity:0.73; flex-shrink: 0;}.viewLabel{font-style:italic;}

/* toc */
.progressButton {padding:0 2.53rem;}
.reply-alt {border: 1px solid var(--edge); background: var(--bg-2); padding:0.97rem 1.26rem; border-radius: var(--rad-s);}
.ratingIcon {display: flex; widows:2; justify-content: space-between; align-items: center;}
.shadow-10 {margin:0em; font-size:1rem;}
.timelineIndicator {display: inline-flex; padding:0.21rem; color: var(--dim); background:none; transition:transform 0.302s, color 0.151s; border:0 none;}
.timelineIndicator:hover {color: var(--acc);}body .reply-alt.is-shut .timelineIndicator{perspective:none; transform: rotate(-90deg);}
.reply-alt.is-shut .modalBlock {font-variant-ligatures:normal; background-blend-mode:normal; display: none;}.modalBlock:not(._1e86c8){margin-top:0.71rem; border-top: 1px solid var(--edge); padding-top:0.67rem; line-height:1.9; font-size:0.88rem;}.modalBlock a{display: block; color: var(--text);}html .modalBlock a:hover{font-variant-ligatures:normal; text-rendering:auto; color: var(--acc);}

/* rich content */
.dropdown--dense {word-spacing:normal; font-synthesis:weight style small-caps; padding:1.51rem 2.55rem 0.3rem;}
.modalBlock .tooltipFoot {will-change:auto; padding-left:1.18rem; font-size:0.79rem;}html .c-review-fill{color: var(--text); line-height:1.8; font-size:1.1rem;}
.c-review-fill > * + * {perspective:none; margin-top:1.23rem;}
.c-review-fill h2 {font-size:1.48rem; line-height:1.3; color: var(--ink); font-family: var(--display); padding-top:1.36rem; border-top: 1px solid var(--edge-2); margin-top:2.32rem; scroll-margin-top:5rem;}
.c-review-fill h3 {color: var(--ink); font-family: var(--display); margin-top:1.64rem; font-size:1.22rem; scroll-margin-top:5rem;}
.c-review-fill h4 {font-size:1.13rem; margin-top:1.22rem; color: var(--ink); font-family: var(--display);}
.c-review-fill a {text-decoration-thickness:1px; text-underline-offset:2px; text-decoration:underline;}.c-review-fill strong, .c-review-fill b{color: var(--ink); font-weight:bold;}
.c-review-fill ul, .c-review-fill ol {margin-left:1.37rem;}
.c-review-fill ul {list-style: disc;}
.c-review-fill ol {list-style: decimal;}
.c-review-fill li {padding-left:0.25rem; margin-top:0.44rem;}
.c-review-fill img {margin:1.44rem 0; border-radius: var(--rad-s);}
.c-review-fill blockquote {background: var(--tint); border-radius: 0 var(--rad-s) var(--rad-s) 0; color: var(--ink); font-style:italic; padding:0.84rem 1.28rem; break-inside:auto; border-left: 3px solid var(--acc);}
.c-review-fill code {font-family:ui-monospace, "SF Mono", "Courier New", monospace; border: 1px solid var(--edge); font-size:0.84em;}
.c-review-fill code {padding:0.18em 0.51em; background: var(--bg-2); border-radius:7px;}
.c-review-fill pre {line-height:1.7; color:#app-entry; font-size:0.84rem; padding:1.11rem 1.24rem; background: var(--night); border-radius: var(--rad-s); overflow-x: auto;}
.c-review-fill pre code {padding:0; border:0 none; background:none; color:inherit;}
.c-review-fill table {width:100%; font-size:1rem; border-collapse:collapse; image-rendering:auto;}.c-review-fill th, html .c-review-fill td{word-spacing:normal; padding:0.61rem 0.72rem; text-align: left; border: 1px solid var(--edge);}
.c-review-fill th {background: var(--bg-2); color: var(--ink); font-weight:700;}
.c-review-fill hr {border:0; margin:2.07rem 0; border-top: 1px solid var(--edge);}

/* share */
.u-review {padding:1.76rem 2.62rem 2.38rem;}.avatarTertiary{display: flex;}.avatarTertiary{flex-wrap: wrap; gap:0.54rem;}
.profileBar {align-items: center; background: var(--card); justify-content: center; border-radius:50%; display: inline-flex; color: var(--dim); border: 1px solid var(--edge); transition:background 0.232s, color 0.229s, border-color 0.243s, transform 0.164s; height:41px; width:34px;}
.profileBar:hover {background: var(--acc); border-color: var(--acc);}
.profileBar:hover {transform: translateY(-1px); color:#page-page;}

/* ---------- talk / reach (forms) ---------- */
.counterInner, .carouselSpacer {box-shadow: var(--sh); tab-size:4; padding:2.03rem 2.52rem 2.17rem; margin:2.15rem auto 0; max-width: var(--read); image-rendering:auto; background: var(--card); border-radius: var(--rad); border: 1px solid var(--edge);}/* ---------- more (related) ---------- */
.text-around{margin:2.26rem auto 0; max-width: var(--read);}
.tooltipColumn {color: var(--dim); margin-top:-0.68rem; margin-bottom:1.26rem; font-size:0.86rem;}
.toolbarThumb {gap:0.94rem; display: grid; mix-blend-mode:normal; grid-template-columns: repeat(3, 1fr);}
.commentOuter {border: 1px solid var(--edge); border-radius: var(--rad-s); display: block; transition:transform 0.155s, box-shadow 0.148s, border-color 0.182s; box-shadow: var(--sh); padding:1.12rem 1.07rem; background: var(--card);}
.commentOuter:hover {box-shadow: var(--sh-l); border-color: var(--acc-l); transform: translateY(-2px);}
.tagSeparator {-webkit-hyphens:manual;-ms-hyphens:manual;line-height:1.4; font-size:1.04rem; word-spacing:normal; hyphens:manual;}
.tagSeparator {font-weight:bold; color: var(--ink); font-family: var(--display);}
input::placeholder, textarea::placeholder {color: var(--dim);}

/* ---------- forms ---------- */
input[type="text"], input[type="email"], input[type="password"], textarea {border-radius: var(--rad-s); background: var(--bg-2); font:inherit; border: 1px solid var(--edge); color: var(--ink); width:100%; transition:border-color 0.216s, box-shadow 0.245s, background 0.222s; padding:0.67rem 0.93rem;}input:focus, textarea:focus{outline:0; box-shadow:0 0 0 3px rgba(23, 165, 119, 0.07); border-color: var(--acc); background: var(--card);}textarea{min-height:6.46rem; resize: vertical;}

.mediaAction {display: flex; flex-wrap: wrap; gap:0.95rem;}.sortPreview{flex: 1 1 calc(50% - 0.5rem); min-width:0;}
.chipDetail {flex: 1 1 100%;}

.selectSection {display: flex;}body .selectSection input{flex: 1; border-radius: var(--rad-s) 0 0 var(--rad-s); min-width:0; border-right:0;}
.selectSection .gallery__meta {border-radius: 0 var(--rad-s) var(--rad-s) 0;}

/* ---------- buttons ---------- */
.gallery__meta {transition:background 0.192s, color 0.202s, border-color 0.165s; font-weight:700; display: inline-flex; letter-spacing:0.03em; min-height:2.82rem; gap:0.55rem; font-size:0.84rem; background: var(--card); color: var(--ink); border-radius: var(--rad-s); border: 1px solid var(--edge); text-transform:uppercase; align-items: center; justify-content: center; page-break-inside:auto; padding:0.75rem 1.23rem;}html .gallery__meta:hover{color: var(--ink); border-color: var(--dim);}html .gallery__meta:hover{background: var(--bg-2);}
.avatarWrapper {color:#page-page; background: var(--acc); border-color: var(--acc);}
.avatarWrapper:hover {color:#page-page; border-color: var(--acc-d); background: var(--acc-d);}
.grid-body {padding:0.73rem 0.96rem; min-width:3.02rem;}html .widgetButton{width:100%;}
.navSuffix {display: flex; border-radius: var(--rad); flex-direction: column; padding:1.58rem 1.53rem; border: 1px solid var(--edge); background: var(--card); box-shadow: var(--sh);}

/* ---------- decks (newsletter + account) ---------- */
.tooltipBody {display: grid; margin:2.66rem auto 0; grid-template-columns: 1fr 1fr; max-width: var(--band); gap:1.25rem;}
.tooltipContent {color: var(--dim); margin-bottom:1.03rem; font-size:0.9rem;}
.widgetGroup {isolation:auto; margin-top:auto; flex-direction: column; perspective:none; display: flex; gap:0.63rem;}
.widgetGroup .gallery__meta {width:100%;}/* ---------- footer ---------- */
.badgeTertiary{background: var(--night); padding:2.52rem 0; margin-top:3.48rem; color: var(--on-night);}
.o-module img {filter:brightness(0) invert(1); height:26px; width:auto; opacity:0.91;}
.toggle-thumb {padding:0 1.2rem; max-width: var(--max); width:100%; display: flex; align-items: center; gap:1.45rem; flex-wrap: wrap; margin-inline:auto; justify-content: space-between;}
.bannerOuter {color: var(--on-night); margin-top:0.67rem; font-size:0.82rem;}
.boxBody {gap:1.25rem; display: flex;}
.boxBody a {color: var(--on-night); font-size:0.77rem;}body .boxBody a:hover{color:#page-page; background-blend-mode:normal;}

.spinnerTrack {gap:0.54rem; display: flex;}
.spinnerTrack a {background:rgba(255, 241, 255, 0.16); align-items: center; font-variant-ligatures:normal; display: inline-flex; width:35px; transition:background 0.164s, color 0.217s, transform 0.208s; color: var(--on-night); font-synthesis:weight style small-caps; height:32px; border-radius: var(--rad-s); justify-content: center;}
.spinnerTrack a:hover {color:#page-page; transform: translateY(-1px); background: var(--acc);}

/* ---------- back to top ---------- */
.l-table {box-shadow: var(--sh-l); right:1.66rem; z-index: 900; transition:background 0.174s, transform 0.196s; background: var(--acc); align-items: center; position: fixed; border:0; height:47px; display: none; border-radius:50%; bottom:1.6rem; color:#page-page; justify-content: center; width:46px;}
.l-table:hover {transform: translateY(-2px); background: var(--acc-d);}
.l-table.profilePlaceholder {display: inline-flex;}

/* ---------- cookie ---------- */
.ratingOuter {right:0; position: fixed; bottom:0px; box-shadow:0 -5px 25px rgba(16, 22, 17, 0.04); left:0; border-top: 1px solid var(--edge); background: var(--card); z-index: 1100; padding:0.93rem 0;}
.boxRow {max-width: var(--max); width:100%; display: flex; justify-content: space-between; align-items: center; gap:1.58rem; padding:0 1.19rem; margin-inline:auto;}*.ratingOuter p{font-size:0.87rem; color: var(--text); margin:0;}
.ratingOuter .gallery__meta {flex-shrink: 0; padding:0.55rem 1.46rem; image-rendering:auto; min-height:2.32rem;}/* ---------- auth layers (CSS :target modal) ---------- */
:where(.drawerSection){position: fixed;}/* ---------- auth layers (CSS :target modal) ---------- */
:where(.drawerSection){z-index: 1300; display: none; inset:0;}*.drawerSection:target{display: grid; padding-top:1.25rem;padding-right:1.25rem;padding-bottom:1.25rem;padding-left:1.25rem; background-blend-mode:normal; place-items: center;}
.py-xs {animation:pop 0.199s ease-out; z-index: 1; background: var(--card); shape-margin:0; border-radius: var(--rad); box-shadow: var(--sh-l); padding:1.73rem 1.79rem 1.56rem; orphans:2; border: 1px solid var(--edge); position: relative; width: min(94vw, 25rem);}
.my-2 {-webkit-backdrop-filter:blur(2px);position: absolute; backdrop-filter:blur(2px); inset:0; background:rgba(21, 46, 40, 0.63);}
@keyframes pop { from {transform: translateY(8px) scale(0.99); contain:none; opacity:0;} to {transform: none; opacity:1;} }
.stepIndicator {line-height:1; text-decoration:none; top:0.72rem; right:0.88rem; position: absolute; color: var(--dim); font-size:1.43rem;}.stepIndicator:hover{perspective:none; color: var(--ink);}
.drawerSection .entry {display: flex;}
.drawerSection .entry {gap:0.98rem; flex-direction: column;}.widgetContainer{margin-top:0.26rem; font-size:0.81rem; color: var(--dim); text-align: center;}

/* ---------- responsive ---------- */
@media (max-width: 860px) {
  .mb-2xl {display: flex;}
  .mediaGroup {border-bottom: 1px solid var(--edge); perspective:none; top:100%; left:0; background: var(--card); flex-direction: column; gap:0; position: absolute; box-shadow: var(--sh); padding:0.46rem 0; align-items: stretch; display: none; mix-blend-mode:normal; right:0;}
  .dividerIcon {text-underline-offset:auto; gap:0; padding:0 1.18rem; flex-direction: column;}
  .mediaGroup.open {display: flex;}
  .dividerIcon a {border-bottom: 1px solid var(--edge-2); padding:0.85rem 0; tab-size:4; backface-visibility:visible;}
  .flex-24 {gap:0.81rem; padding:0.86rem 1.29rem 0.4rem;}

  .toolbarThumb {grid-template-columns: 1fr 1fr;}
  .tooltipBody {grid-template-columns: 1fr;}
}

@media (max-width: 680px) {html{font-size:100%;}
  .viewPrefix {padding:1.79rem 1.48rem 1.06rem;}
  .progressButton {padding:0 1.38rem;}body .dropdown--dense{padding:1.26rem 1.4rem 0.3rem; transform-style:flat;}
  .u-review {padding:1.3rem 1.46rem 1.83rem;}
  .counterInner, .carouselSpacer {padding:1.64rem 1.4rem 1.73rem; text-decoration-skip-ink:auto; isolation:auto;}.toolbarThumb{grid-template-columns: 1fr;}
  .toggle-thumb {align-items: flex-start; gap:1.19rem; flex-direction: column; text-rendering:auto;}
  .boxRow {flex-direction: column; gap:0.88rem; text-align: center;}
}

@media (max-width: 460px) {
  .sortPreview {flex: 1 1 100%;}.l-table{bottom:0.99rem; image-rendering:auto; right:1.04rem; hyphens:manual;}
}

@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto;}
  * {transition:none !important; animation:none !important;}
  body {background:#page-page;}
}

@media print {
  .stepper-first, .u-review, .counterInner, .text-around, .carouselSpacer,
  .tooltipBody, .badgeTertiary, .l-table, .ratingOuter, .drawerSection, .select--sticky {display: none !important;}
  .cardAction {box-shadow:none;}
  .cardAction {border:0; shape-margin:0; max-width:none; perspective:none;}
}
