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

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

*, *::before, *::after {margin:0; padding:0; box-sizing: border-box;}html{font-size:111%; scroll-behavior: smooth; -webkit-text-size-adjust:100%;}body{contain:none; orphans:2; -moz-osx-font-smoothing:grayscale; font-family: var(--text-font); font-size:0.93rem; color: var(--text); -webkit-font-smoothing:antialiased; background: var(--bg); line-height:1.72;}

img, svg {display: block; max-width:100%;}
ul, ol {list-style: none;}
a {color: var(--acc); text-decoration:none;}
a:hover {color: var(--acc-d);}
button {font-family:inherit; cursor: pointer;}h1{font-weight:700; line-height:1.18; font-family: var(--display); letter-spacing:-0.015em; color: var(--ink);}

:focus-visible {border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px; outline: 2px solid var(--acc); will-change:auto; outline-offset:2px;}

.box--small {padding-top:0rem; padding-right:0rem;}

.box--small {padding-bottom:0rem; padding-left:0rem; width:1px; overflow: hidden; white-space: nowrap; height:1px; clip:rect(0, 0, 0, 0); position: absolute; border:0; margin:-1px;}/* span headings (no h2/h3 anywhere but article content) */
.footerAction, .searchPrimary:not(._f6ca5a), .reviewSummary:not(._f6ca5a), body .c-post-block, .tagRegion:not(._f6ca5a){letter-spacing:-0.01em; font-weight:700; color: var(--ink); font-family: var(--display); display: block;}.footerAction:not(._f6ca5a){margin-bottom:1.1rem; font-size:1.24rem;}
.reviewSummary {font-size:1.28rem; tab-size:4; margin-bottom:1.21rem;}
.searchPrimary {margin-bottom:0.31rem; font-size:0.97rem;}

/* ---------- scroll progress ---------- */
.toolbar-wrapper-half {transition:width 0.058s linear; position: fixed; height:-1px; top:0; z-index: 1200; background: var(--acc); left:0; width:0;}

/* ---------- topbar ---------- */
.post__count {hyphens:manual; backdrop-filter:saturate(150%) blur(8px); top:0; background:rgba(245, 255, 255, 0.94); border-bottom: 1px solid var(--edge); z-index: 1000; position: sticky;}.heroAddon:not(._f6ca5a){min-height:3.88rem; display: flex; align-items: center; padding:0 1.17rem; gap:0.98rem; justify-content: space-between; margin-inline:auto;}.heroAddon:not(._f6ca5a){max-width: var(--max); width:100%;}
.panelHolder {align-items: center; display: inline-flex;}
.panelHolder img {height:30px; width:auto;}.filterOverlay:not(._f6ca5a){display: none; gap:7px; flex-direction: column; background:none; border:none; padding-top:0.48rem;padding-right:0.48rem;padding-bottom:0.48rem;padding-left:0.48rem;}
.filterOverlay span {height:2px; background: var(--ink); display: block; width:25px; border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;}

.viewInfo {display: flex; gap:1.77rem; align-items: center;}
.heroHead {display: flex; gap:1.49rem;}
.heroHead a, .sidebarAddon {-moz-tab-size:4;font-weight:700; letter-spacing:0.03em; tab-size:4; text-transform:uppercase; text-rendering:auto; font-size:0.78rem; color: var(--text);}
.heroHead a:hover, .sidebarAddon:hover {color: var(--acc);}body .dropdownPlaceholder{display: flex; gap:1.07rem; align-items: center;}
.snackbarGroup {background: var(--acc); padding:0.49rem 0.98rem; font-weight:bold; text-transform:uppercase; transition:background 0.202s; color:#layout_fill; font-size:0.75rem; border-radius: var(--rad-s); letter-spacing:0.03em;}
.snackbarGroup:hover {background: var(--acc-d); color:#layout_fill;}

/* ---------- flow / shell ---------- */
.carouselSlot {padding-bottom:4rem;}/* ---------- post ---------- */
.stepTime{border: 1px solid var(--edge); background: var(--card); overflow: hidden; box-shadow: var(--sh); max-width: var(--read); border-radius: var(--rad); margin:1.58rem auto 0;}
.chipBackdrop {padding:2.37rem 2.54rem 1.26rem;}html .stepperLine{font-size: clamp(1.7rem, 1.2rem + 2.3vw, 2.5rem); backface-visibility:visible; margin-bottom:0.77rem;}

.spinnerText {align-items: center; font-size:0.79rem; display: flex; color: var(--dim); flex-wrap: wrap; gap:0.52rem 1.19rem;}
.navContainer {gap:0.42rem; display: inline-flex; align-items: center;}
.navContainer svg {flex-shrink: 0; opacity:0.68;}body .headerHandle{font-style:italic;}*.listOverlay{border-radius: var(--rad-s); border: 1px solid var(--edge);}

/* toc */
.reviewSection {padding:0 2.53rem;}*.listOverlay{background: var(--bg-2); padding:1.04rem 1.19rem;}
.commentToggle {justify-content: space-between; align-items: center; display: flex;}
.c-post-block {font-size:0.92rem; margin:0;}.priceCount{background:none; padding-top:0.13rem;padding-right:0.13rem;padding-bottom:0.13rem;padding-left:0.13rem; display: inline-flex; border:0; transition:transform 0.303s, color 0.166s; color: var(--dim); text-decoration-skip-ink:auto; font-variant-ligatures:normal;}html .priceCount:hover{color: var(--acc);}*.listOverlay.is-shut .priceCount{transform: rotate(-90deg);}html .listOverlay.is-shut .toggleZone{display: none;}
.toggleZone {font-size:0.92rem; word-spacing:normal; padding-top:0.72rem; line-height:1.9; border-top: 1px solid var(--edge); margin-top:0.67rem;}
.toggleZone a {widows:2; display: block; color: var(--text);}
.toggleZone a:hover {color: var(--acc);}
.toggleZone .section-cell-half {padding-left:1.11rem; font-size:0.91rem;}/* rich content */
:where(.blockValue){padding:1.44rem 2.62rem 0.32rem;}
.stepperDate {line-height:1.8; color: var(--text); font-size:1.05rem;}
.stepperDate > * + * {isolation:auto; margin-top:1.27rem;}*.stepperDate h2{line-height:1.3; font-family: var(--display); margin-top:2.26rem; font-size:1.53rem; border-top: 1px solid var(--edge-2); scroll-margin-top:5rem; color: var(--ink); padding-top:1.29rem;}.stepperDate h3{margin-top:1.66rem; font-size:1.25rem; color: var(--ink); scroll-margin-top:5rem; font-family: var(--display);}.stepperDate h4{font-size:0.99rem; text-underline-offset:auto; font-family: var(--display); orphans:2; margin-top:1.27rem; color: var(--ink);}
.stepperDate a {text-underline-offset:2px; text-decoration:underline; text-decoration-thickness:1px;}
.stepperDate strong, .stepperDate b {color: var(--ink); font-weight:700;}.stepperDate ul, .stepperDate ol{margin-left:1.31rem;}.stepperDate ul{image-rendering:auto; list-style: disc;}html .stepperDate ol{list-style: decimal; isolation:auto; contain:none;}
.stepperDate li {margin-top:0.43rem; padding-left:0.33rem;}*.stepperDate img{margin:1.53rem 0; border-radius: var(--rad-s); orphans:2;}
.stepperDate blockquote {background: var(--tint); color: var(--ink); orphans:2;}
.stepperDate blockquote {border-radius: 0 var(--rad-s) var(--rad-s) 0; padding:0.81rem 1.3rem; font-style:italic; border-left: 3px solid var(--acc);}
.stepperDate code {border-radius:3px; font-family:ui-monospace, "SF Mono", "Courier New", monospace; border: 1px solid var(--edge); font-size:0.8em; padding:0.13em 0.41em; background: var(--bg-2);}
.stepperDate pre {padding:1.12rem 1.32rem; overflow-x: auto; background: var(--night); font-size:0.91rem; color:#row-table; line-height:1.7; border-radius: var(--rad-s);}
.stepperDate pre code {background:none; padding:0; color:inherit; border:0 none;}
.stepperDate table {border-collapse:collapse; font-size:0.85rem; width:100%;}
.stepperDate th, .stepperDate td {text-align: left; border: 1px solid var(--edge); padding:0.64rem 0.86rem;}
.stepperDate th {background: var(--bg-2); color: var(--ink); font-weight:bold;}.stepperDate hr{border-top: 1px solid var(--edge); margin:2.07rem 0; border:0;}

/* share */
.progressInput {padding:1.71rem 2.67rem 2.39rem;}.nav-body{gap:0.53rem; flex-wrap: wrap; display: flex;}
.panelBackdrop {width:35px; display: inline-flex; justify-content: center; background: var(--card); color: var(--dim); border: 1px solid var(--edge); border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; transition:background 0.236s, color 0.259s, border-color 0.236s, transform 0.135s; height:38px; align-items: center;}
.panelBackdrop:hover {color:#layout_fill; transform: translateY(-1px); break-inside:auto; border-color: var(--acc); background: var(--acc);}

/* ---------- talk / reach (forms) ---------- */
.sectionPlaceholder, .c-pagination {max-width: var(--read); border-radius: var(--rad); border: 1px solid var(--edge); background: var(--card); margin:2.28rem auto 0; box-shadow: var(--sh); padding:2.02rem 2.53rem 2.1rem;}.galleryDate{margin-top:-0.66rem; font-size:0.94rem; color: var(--dim); margin-bottom:1.12rem;}
.timelineFoot {grid-template-columns: repeat(3, 1fr); gap:0.96rem; display: grid;}

/* ---------- more (related) ---------- */
.blockSlot {margin:2.26rem auto 0; max-width: var(--read);}
.headerIndicator {transition:transform 0.181s, box-shadow 0.125s, border-color 0.223s; display: block; border: 1px solid var(--edge); background: var(--card); border-radius: var(--rad-s); box-shadow: var(--sh); padding:1.06rem 1.07rem;}
.stepperSuffix {contain:none; line-height:1.4; font-size:1rem; font-weight:bold; color: var(--ink); font-family: var(--display);}
.headerIndicator:hover {box-shadow: var(--sh-l); transform: translateY(-2px); border-color: var(--acc-l);}/* ---------- forms ---------- */
input[type="text"], input[type="email"], input[type="password"], textarea{width:100%; border-radius: var(--rad-s); background: var(--bg-2); color: var(--ink); padding:0.72rem 0.93rem; border: 1px solid var(--edge); transition:border-color 0.237s, box-shadow 0.192s, background 0.2s; font:inherit;}input::placeholder, textarea::placeholder{color: var(--dim);}input:focus, textarea:focus{background: var(--card); outline:0; box-shadow:0 0 0 5px rgba(18, 145, 154, 0.14); border-color: var(--acc); isolation:auto;}
textarea {resize: vertical; min-height:6.43rem;}

.el-action {display: flex; flex-wrap: wrap; gap:0.99rem;}.tooltip__handle--half:not(._f6ca5a){flex: 1 1 calc(50% - 0.5rem); text-decoration-skip-ink:auto; min-width:0; perspective:none;}
.badgeSecondary {image-rendering:auto; flex: 1 1 100%; font-variant-ligatures:normal;}.o-hero{display: flex;}html .o-hero input{border-right:0; flex: 1; min-width:0rem;}html .o-hero input{border-radius: var(--rad-s) 0 0 var(--rad-s);}
.o-hero .carouselColumn {border-radius: 0 var(--rad-s) var(--rad-s) 0;}

/* ---------- buttons ---------- */
.carouselColumn {display: inline-flex; min-height:2.9rem; font-weight:bold; padding:0.65rem 1.23rem; align-items: center; transition:background 0.18s, color 0.192s, border-color 0.22s; background: var(--card); font-size:0.75rem; letter-spacing:0.03em; color: var(--ink); border: 1px solid var(--edge); gap:0.44rem; border-radius: var(--rad-s); justify-content: center; text-transform:uppercase;}
.carouselColumn:hover {border-color: var(--dim); shape-margin:0; image-rendering:auto; color: var(--ink); background: var(--bg-2);}
.heroBlock {color:#layout_fill;}
.heroBlock {border-color: var(--acc); background: var(--acc);}*.toggleCell{word-spacing:normal; min-width:3.07rem; background-blend-mode:normal; padding:0.74rem 0.95rem;}
.heroBlock:hover {color:#layout_fill; background: var(--acc-d); border-color: var(--acc-d);}.stepAddon{width:100%;}

/* ---------- decks (newsletter + account) ---------- */
.ratingWrapper {grid-template-columns: 1fr 1fr; gap:1.27rem; display: grid; contain:none; margin:2.67rem auto 0; max-width: var(--band);}
.carouselSuffix {display: flex; border-radius: var(--rad); padding:1.56rem 1.55rem; background: var(--card); border: 1px solid var(--edge); box-shadow: var(--sh); flex-direction: column;}
.tableBar {color: var(--dim); font-size:0.92rem;}
.tableBar {margin-bottom:1.08rem;}
.mediaFoot {margin-top:auto; display: flex; flex-direction: column; gap:0.67rem;}*.mediaFoot .carouselColumn{width:100%;}/* ---------- footer ---------- */
:where(.sidebarWrapper){background: var(--night); color: var(--on-night); background-blend-mode:normal; margin-top:3.38rem; padding:2.68rem 0;}
.panelMeta {margin-inline:auto; gap:1.56rem; width:100%; justify-content: space-between; align-items: center; flex-wrap: wrap; max-width: var(--max);}
.panelMeta {display: flex; padding:0 1.33rem;}html .menuInput{font-size:0.81rem; color: var(--on-night); margin-top:0.67rem;}
.profile-info img {filter:brightness(0) invert(1); width:auto; opacity:0.79; height:30px;}
.modalButton {gap:1.24rem; display: flex;}
.modalButton a {color: var(--on-night); font-size:0.81rem;}
.modalButton a:hover {color:#layout_fill;}

.stepRegion {gap:0.62rem; display: flex;}body .stepRegion a{font-variant-caps:normal; color: var(--on-night); width:37px; background:rgba(255, 250, 255, 0.12); justify-content: center; transition:background 0.192s, color 0.214s, transform 0.161s; align-items: center; display: inline-flex; text-underline-offset:auto; border-radius: var(--rad-s); height:32px;}
.stepRegion a:hover {background: var(--acc); isolation:auto; transform: translateY(-1px); font-variant-caps:normal; color:#layout_fill;}

/* ---------- back to top ---------- */
.blockIcon {transition:background 0.197s, transform 0.153s; border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; border:0 none; position: fixed; display: none; z-index: 900; height:44px; box-shadow: var(--sh-l); color:#layout_fill; align-items: center; width:50px; background: var(--acc); justify-content: center; right:1.67rem; bottom:1.55rem;}
.blockIcon:hover {background: var(--acc-d); transform: translateY(-2px);}
.blockIcon.alertFoot {display: inline-flex;}

/* ---------- cookie ---------- */
.align-md {bottom:0; background: var(--card); left:0; right:0; border-top: 1px solid var(--edge); padding:0.92rem 0; position: fixed; z-index: 1100; box-shadow:0 -3px 22px rgba(36, 41, 44, 0.02);}
.t-sidebar-column {gap:1.43rem; align-items: center; padding:0 1.24rem; width:100%; max-width: var(--max); display: flex; margin-inline:auto; justify-content: space-between;}
.align-md p {color: var(--text); font-size:0.76rem; margin:0;}

/* ---------- auth layers (CSS :target modal) ---------- */
.tooltip-line {display: none; position: fixed; z-index: 1300; inset:0;}html .align-md .carouselColumn{flex-shrink: 0; min-height:2.32rem; padding:0.5rem 1.4rem;}
.tooltip-line:target {place-items: center; display: grid; padding-top:1.27rem;padding-right:1.27rem;padding-bottom:1.27rem;padding-left:1.27rem;}
.statusSubtitle {box-shadow: var(--sh-l); font-synthesis:weight style small-caps; z-index: 1; border: 1px solid var(--edge); animation:pop 0.157s ease-out; position: relative; padding:1.87rem 1.78rem 1.68rem; width: min(94vw, 25rem); border-radius: var(--rad); text-underline-offset:auto; background: var(--card);}.step__zone--rounded{position: absolute; inset:0; backdrop-filter:blur(2px); background:rgba(4, 30, 38, 0.61);}
@keyframes pop { from {opacity:0; transform: translateY(8px) scale(0.99);} to {opacity:1; transform: none;} }
.screenHolder {text-decoration:none; line-height:1; color: var(--dim); position: absolute; top:0.62rem; font-size:1.52rem; right:0.77rem;}
.screenHolder:hover {color: var(--ink);}
.tooltip-line .footerImage {contain:none; display: flex; flex-direction: column;}
.tooltip-line .footerImage {gap:0.91rem; text-decoration-skip-ink:auto;}
.stepperExtra {text-rendering:auto; margin-top:0.2rem; color: var(--dim); font-size:0.85rem; text-align: center; image-rendering:auto;}

/* ---------- responsive ---------- */
@media (max-width: 860px) {*.filterOverlay{display: flex;}
  .viewInfo {background: var(--card); display: none; left:0; align-items: stretch; flex-direction: column; border-bottom: 1px solid var(--edge); box-shadow: var(--sh); position: absolute;}
  .viewInfo {right:0px; padding:0.52rem 0; top:100%; gap:0;}
  .viewInfo.open {display: flex;}
  .heroHead {padding:0 1.26rem; gap:0; flex-direction: column;}
  .heroHead a {padding:0.77rem 0; border-bottom: 1px solid var(--edge-2);}.timelineFoot{shape-margin:0; grid-template-columns: 1fr 1fr;}body .dropdownPlaceholder{padding:0.88rem 1.24rem 0.35rem; gap:0.82rem;}
  .ratingWrapper {grid-template-columns: 1fr;}
}

@media (max-width: 680px) {
  html {font-size:100%;}
  .chipBackdrop {padding:1.8rem 1.33rem 1.09rem;}.reviewSection{padding:0 1.41rem;}.blockValue{padding:1.25rem 1.46rem 0.29rem;}
  .progressInput {padding:1.25rem 1.4rem 1.85rem;}.timelineFoot{grid-template-columns: 1fr;}
  .sectionPlaceholder, .c-pagination {padding:1.57rem 1.42rem 1.85rem;}
  .t-sidebar-column {flex-direction: column; text-align: center; gap:0.83rem;}
  .panelMeta {gap:1.23rem; flex-direction: column; align-items: flex-start;}
}

@media (max-width: 460px) {.tooltip__handle--half{flex: 1 1 100%;}*.blockIcon{bottom:0.98rem; right:1.04rem;}
}

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

@media print {
  .post__count, .progressInput, .sectionPlaceholder, .blockSlot, .c-pagination,
  .ratingWrapper, .sidebarWrapper, .blockIcon, .align-md, .tooltip-line, .toolbar-wrapper-half {display: none !important; mix-blend-mode:normal; font-variant-caps:normal;}body{background:#layout_fill;}
  .stepTime {max-width:none; box-shadow:none; border:0rem;}
}
