

*, *::before, *::after {box-sizing: border-box; padding:0; margin:0;}/* ============================================================
   1017_new_v1 — stylesheet
   ============================================================ */

:root{--band: 62rem; --edge: #page-widget; --acc-l: #2bb3a3; tab-size:4; --sh: 0 1px 2px rgba(20, 32, 29, 0.04), 0 6px 24px rgba(20, 32, 29, 0.06); --ink: #16221f; --max: 70rem; --bg-2: #accordionCell; --acc-d: #0f766e; --sh-l: 0 16px 50px rgba(20, 32, 29, 0.18); --text: #46535a; --bg: #page-table; --rad-s: 8px; --tint: rgba(13, 148, 136, 0.08); --night-2: #1d2c28; backface-visibility:visible; --display: "Sora", system-ui, sans-serif; --dim: #79868c; --acc: #0d9488; --on-night: rgba(255, 255, 255, 0.6); --card: #site-tabs; --text-font: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; --edge-2: #container-sort; --night: #14201d; --rad: 12px; --read: 45rem;}html{scroll-behavior: smooth; perspective:none; font-size:111.3%;}html{-webkit-text-size-adjust:100%; word-spacing:normal;}body{-moz-osx-font-smoothing:grayscale; font-size:1.01rem; font-family: var(--text-font); -webkit-font-smoothing:antialiased; background: var(--bg); line-height:1.72; color: var(--text);}

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

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

:focus-visible {font-variant-caps:normal; border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px; text-underline-offset:auto; outline-offset:2px; outline: 2px solid var(--acc);}/* span headings (no h2/h3 anywhere but article content) */
.replyPlaceholder, html .selectPrefix, html .formLine, .headerMeta, .tabsTertiary{color: var(--ink); font-weight:700; display: block; font-family: var(--display); orphans:2; letter-spacing:-0.01em;}html .replyPlaceholder{margin-bottom:1.18rem; font-size:1.34rem;}
.selectPrefix {margin-bottom:0.24rem; font-size:1.01rem;}.formLine:not(._af9689){font-size:1.28rem; margin-bottom:1.16rem;}

/* ---------- scroll progress ---------- */
.toolbarLabel {z-index: 1200; position: fixed; height:7px; background: var(--acc); width:0; top:0; left:0; transition:width 0.131s linear; will-change:auto;}

/* ---------- topbar ---------- */
.menuContainer {border-bottom: 1px solid var(--edge); background:rgba(255, 255, 255, 0.92); top:0; z-index: 1000; position: sticky; backdrop-filter:saturate(150%) blur(8px);}*.dividerRegion{margin-inline:auto; max-width: var(--max); min-height:3.82rem; gap:1.07rem; justify-content: space-between; width:100%; padding:0 1.23rem; display: flex; align-items: center;}
.visible-0 {display: inline-flex; align-items: center;}.visible-0 img{height:26px; width:auto;}

.dialogSecondary {background:none; padding:0.34rem; border:none; display: none;}

.dialogSecondary {flex-direction: column; gap:3px;}.progressCount:not(._af9689){gap:1.86rem; display: flex; align-items: center; background-blend-mode:normal;}
.dialogSecondary span {width:23px; border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px; height:2px; display: block; background: var(--ink);}
.el-breadcrumb-tertiary {display: flex; gap:1.49rem;}
.el-breadcrumb-tertiary a, .screenButton {text-transform:uppercase; font-weight:700; letter-spacing:0.03em; font-size:0.8rem; color: var(--text);}body .el-breadcrumb-tertiary a:hover, *.screenButton:hover{font-variant-caps:normal; break-inside:auto; color: var(--acc);}
.menu--narrow {align-items: center; display: flex; gap:1.06rem;}
.entryTrack {font-size:0.71rem; letter-spacing:0.03em; background: var(--acc); padding:0.56rem 1.07rem; text-transform:uppercase; font-weight:700; color:#site-box; transition:background 0.167s; border-radius: var(--rad-s);}
.entryTrack:hover {background: var(--acc-d); color:#site-box; isolation:auto;}

/* ---------- flow / shell ---------- */
.stepperButton {padding-bottom:3.94rem; text-underline-offset:auto; image-rendering:auto;}

/* ---------- post ---------- */
.heroPrefix {overflow: hidden; background: var(--card); box-shadow: var(--sh); max-width: var(--read); margin:1.64rem auto 0; border: 1px solid var(--edge); border-radius: var(--rad);}
.head-entry {padding:2.36rem 2.65rem 1.31rem; contain:none; perspective:none;}

.snackbarBackdrop {font-size:0.79rem; display: flex; gap:0.44rem 1.22rem; flex-wrap: wrap; color: var(--dim); align-items: center;}.clear-auto{margin-bottom:0.82rem; font-size: clamp(1.7rem, 1.2rem + 2.3vw, 2.5rem);}
.app-form-track {display: inline-flex; align-items: center; gap:0.39rem;}
.chipInner {font-style:italic;}
.app-form-track svg {opacity:0.69; flex-shrink: 0;}

/* toc */
.menuSection {padding:0 2.62rem;}
.searchDetail {border-radius: var(--rad-s); background: var(--bg-2); padding:1.09rem 1.3rem; border: 1px solid var(--edge);}
.ratingArea {display: flex; justify-content: space-between; widows:2; align-items: center;}.overflow-20:not(._af9689){display: inline-flex; color: var(--dim); transition:transform 0.249s, color 0.161s; border:0 none; padding:0.17rem;}body .headerMeta{font-size:0.87rem; margin:0;}.overflow-20:not(._af9689){background:none;}
.overflow-20:hover {color: var(--acc);}
.searchDetail.is-shut .overflow-20 {transform: rotate(-90deg);}
.searchDetail.is-shut .popoverArea {display: none;}
.popoverArea {font-size:0.95rem; line-height:1.9; border-top: 1px solid var(--edge); padding-top:0.7rem; margin-top:0.76rem;}
.popoverArea a {color: var(--text); display: block;}.popoverArea a:hover{color: var(--acc);}

/* rich content */
.cardName {padding:1.47rem 2.58rem 0.33rem;}html .popoverArea .skeletonSuffix{padding-left:1.15rem; font-size:0.92rem;}
.widgetImage {backface-visibility:visible; color: var(--text); line-height:1.8; font-size:0.96rem; will-change:auto;}
.widgetImage > * + * {margin-top:1.18rem;}html .widgetImage h2{color: var(--ink); padding-top:1.24rem; font-size:1.51rem; font-family: var(--display); scroll-margin-top:5rem; border-top: 1px solid var(--edge-2); margin-top:2.36rem; line-height:1.3;}
.widgetImage h3 {scroll-margin-top:5rem; color: var(--ink); font-family: var(--display); margin-top:1.71rem; font-size:1.25rem;}
.widgetImage h4 {color: var(--ink); font-family: var(--display); font-size:1.11rem; margin-top:1.26rem;}
.widgetImage a {text-decoration-thickness:1px; text-underline-offset:2px; text-decoration:underline;}
.widgetImage strong, .widgetImage b {font-weight:bold; color: var(--ink);}
.widgetImage ul, .widgetImage ol {margin-left:1.27rem;}
.widgetImage ul {list-style: disc;}
.widgetImage ol {list-style: decimal;}
.widgetImage li {margin-top:0.33rem; padding-left:0.32rem;}
.widgetImage img {border-radius: var(--rad-s); margin:1.54rem 0;}
.widgetImage blockquote {font-style:italic; padding:0.87rem 1.27rem; background: var(--tint); color: var(--ink); border-left: 3px solid var(--acc); border-radius: 0 var(--rad-s) var(--rad-s) 0;}html .widgetImage code{border-radius:4px; font-size:0.93em; font-family:ui-monospace, "SF Mono", "Courier New", monospace; padding:0.07em 0.38em; border: 1px solid var(--edge); background: var(--bg-2);}
.widgetImage pre {color:#heroDetail; line-height:1.7; border-radius: var(--rad-s); overflow-x: auto; background: var(--night); font-size:0.92rem; padding:1.03rem 1.3rem;}
.widgetImage pre code {border:0 none;}
.widgetImage pre code {color:inherit; background:none; padding:0;}
.widgetImage table {border-collapse:collapse; font-size:0.88rem; width:100%; widows:2;}
.widgetImage th, .widgetImage td {text-align: left; padding:0.7rem 0.86rem; border: 1px solid var(--edge);}
.widgetImage th {font-weight:700; background: var(--bg-2); color: var(--ink);}.widgetImage hr{border-top: 1px solid var(--edge); margin:1.96rem 0; border:0 none;}

/* share */
.py-end {padding:1.65rem 2.63rem 2.45rem;}body .o-rating-section{width:37px; border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; height:39px; align-items: center; color: var(--dim); justify-content: center; transition:background 0.167s, color 0.193s, border-color 0.26s, transform 0.208s; background: var(--card); display: inline-flex; border: 1px solid var(--edge);}
.formRow {gap:0.55rem; display: flex; flex-wrap: wrap;}/* ---------- talk / reach (forms) ---------- */
.bannerLink, html .accordionItem{padding:2.07rem 2.54rem 2.08rem; box-shadow: var(--sh); border-radius: var(--rad); max-width: var(--read); margin:2.17rem auto 0; border: 1px solid var(--edge); background: var(--card);}
.o-rating-section:hover {color:#site-box; transform: translateY(-1px); border-color: var(--acc); background: var(--acc);}

/* ---------- more (related) ---------- */
.modalButton {max-width: var(--read); text-decoration-skip-ink:auto; image-rendering:auto; margin:2.27rem auto 0;}
.sidebarLine {color: var(--dim); font-size:1rem; margin-top:-0.53rem; margin-bottom:1.2rem;}
.entryCap {grid-template-columns: repeat(3, 1fr); gap:1.01rem; display: grid;}
.avatarTime {box-shadow: var(--sh); background: var(--card); transition:transform 0.153s, box-shadow 0.229s, border-color 0.184s; display: block; padding:0.98rem 1.21rem; border: 1px solid var(--edge); border-radius: var(--rad-s);}
.avatarTime:hover {border-color: var(--acc-l); transform: translateY(-2px); box-shadow: var(--sh-l);}html .searchPreview{color: var(--ink); font-weight:700; font-size:0.99rem; font-family: var(--display); line-height:1.4;}/* ---------- forms ---------- */
input[type="text"], input[type="email"], input[type="password"], textarea{padding:0.68rem 0.92rem; border-radius: var(--rad-s); font:inherit; background: var(--bg-2); border: 1px solid var(--edge); transition:border-color 0.199s, box-shadow 0.206s, background 0.226s; width:100%; color: var(--ink);}
input::placeholder, textarea::placeholder {color: var(--dim);}
input:focus, textarea:focus {border-color: var(--acc); box-shadow:0 0 0 7px rgba(31, 151, 142, 0.18);}
textarea {resize: vertical; min-height:6.58rem;}
input:focus, textarea:focus {font-synthesis:weight style small-caps; tab-size:4; outline:0; background: var(--card);}.replyWrap:not(._af9689){flex-wrap: wrap; gap:0.99rem; display: flex;}.overflow-5:not(._af9689){flex: 1 1 100%;}
.skeletonTertiary {min-width:0; flex: 1 1 calc(50% - 0.5rem);}

.paginationBody {display: flex;}
.paginationBody input {flex: 1; min-width:0; border-radius: var(--rad-s) 0 0 var(--rad-s); border-right:none;}
.paginationBody .searchThumb {print-color-adjust:economy; tab-size:4; border-radius: 0 var(--rad-s) var(--rad-s) 0;}

/* ---------- buttons ---------- */
.searchThumb {font-weight:700; font-size:0.74rem; justify-content: center; text-transform:uppercase; transform-style:flat; gap:0.42rem; color: var(--ink); border: 1px solid var(--edge); min-height:2.79rem; display: inline-flex; border-radius: var(--rad-s); align-items: center; padding:0.65rem 1.34rem; background: var(--card); mix-blend-mode:normal; transition:background 0.176s, color 0.196s, border-color 0.152s; letter-spacing:0.03em;}
.searchThumb:hover {border-color: var(--dim); color: var(--ink); background: var(--bg-2);}html .counterTitle{background: var(--acc); border-color: var(--acc); color:#site-box;}
.counterTitle:hover {background: var(--acc-d); color:#site-box; border-color: var(--acc-d);}
.featureSuffix {min-width:2.92rem; padding:0.63rem 0.97rem;}
.badgeCell {width:100%;}
.t-review-time {-webkit-hyphens:manual;-ms-hyphens:manual;display: flex; background: var(--card); padding:1.46rem 1.64rem; box-shadow: var(--sh); border: 1px solid var(--edge); border-radius: var(--rad); flex-direction: column; hyphens:manual;}/* ---------- decks (newsletter + account) ---------- */
:where(.screenBackdrop){max-width: var(--band); margin:2.57rem auto 0; display: grid; gap:1.18rem; grid-template-columns: 1fr 1fr;}
.menuDot {margin-bottom:1.03rem; color: var(--dim); font-size:0.79rem;}
.c-entry-image {flex-direction: column; gap:0.62rem; display: flex; margin-top:auto;}

/* ---------- footer ---------- */
.filterSummary {padding:2.62rem 0; margin-top:3.4rem; color: var(--on-night); background: var(--night);}
.c-entry-image .searchThumb {width:100%;}
.gridIcon {width:100%; align-items: center; margin-inline:auto; justify-content: space-between; tab-size:4; gap:1.5rem; text-decoration-skip-ink:auto; flex-wrap: wrap; display: flex; max-width: var(--max); padding:0 1.18rem;}
.profileInput img {width:auto; opacity:0.82; height:29px; filter:brightness(0) invert(1);}
.card {perspective:none; color: var(--on-night); font-size:0.83rem; margin-top:0.63rem;}
.widgetText {display: flex; gap:1.37rem;}
.widgetText a {font-size:0.82rem; page-break-inside:auto; color: var(--on-night);}*.widgetText a:hover{page-break-inside:auto; tab-size:4; color:#site-box;}

.breadcrumbDetail {page-break-inside:auto; display: flex; gap:0.66rem;}
.breadcrumbDetail a {align-items: center; width:33px; display: inline-flex; justify-content: center; color: var(--on-night); transition:background 0.18s, color 0.237s, transform 0.18s; border-radius: var(--rad-s); background:rgba(255, 251, 253, 0.16); height:35px;}
.breadcrumbDetail a:hover {color:#site-box; background: var(--acc); transform: translateY(-1px);}

/* ---------- back to top ---------- */
.progressSection {color:#site-box; background: var(--acc); border-radius:50%; display: none; justify-content: center; transition:background 0.157s, transform 0.193s; bottom:1.62rem; z-index: 900; width:43px; height:44px; position: fixed; box-shadow: var(--sh-l); align-items: center; right:1.53rem; border:0;}
.progressSection:hover {transform: translateY(-2px); background: var(--acc-d);}
.progressSection.badgeExtra {display: inline-flex;}

/* ---------- cookie ---------- */
.avatarAction {right:0; background: var(--card); bottom:0; border-top: 1px solid var(--edge); left:0px; box-shadow:0 -9px 25px rgba(18, 15, 31, 0.03); z-index: 1100; position: fixed; padding:0.83rem 0;}body .togglePlaceholder{justify-content: space-between; margin-inline:auto; display: flex; max-width: var(--max); padding:0 1.18rem; gap:1.54rem; width:100%; align-items: center;}.avatarAction p{color: var(--text); margin:0; font-size:0.85rem;}
.avatarAction .searchThumb {padding:0.56rem 1.32rem; min-height:2.39rem; flex-shrink: 0;}

/* ---------- auth layers (CSS :target modal) ---------- */
.widgetTrigger {position: fixed; z-index: 1300; font-synthesis:weight style small-caps; inset:0; display: none;}
.widgetTrigger:target {display: grid; place-items: center; padding:1.25rem;}
.menuCap {position: absolute; background:rgba(7, 33, 17, 0.57);}
.menuCap {backdrop-filter:blur(2px); inset:0;}
.sliderSubtitle {width: min(94vw, 25rem); border: 1px solid var(--edge); padding:1.73rem 1.82rem 1.61rem; background: var(--card); box-shadow: var(--sh-l); z-index: 1; border-radius: var(--rad); animation:pop 0.159s ease-out; position: relative;}
@keyframes pop { from {transform: translateY(8px) scale(0.99); opacity:0;} to {word-spacing:normal; transform: none; widows:2;} to {opacity:1;} }
.sliderDot {right:0.89rem; top:0.73rem; font-size:1.5rem; text-decoration:none; line-height:1; color: var(--dim);}
.sliderDot {position: absolute;}
.sliderDot:hover {color: var(--ink);}
.widgetTrigger .sidebar--success {display: flex; flex-direction: column; gap:0.91rem;}*.spinnerCount{text-align: center; margin-top:0.27rem; font-size:0.88rem; color: var(--dim);}

/* ---------- responsive ---------- */
@media (max-width: 860px) {
  .dialogSecondary {display: flex; font-variant-ligatures:normal; break-inside:auto;}body .progressCount{position: absolute; left:0; display: none; gap:0; background: var(--card); border-bottom: 1px solid var(--edge); right:0; padding:0.48rem 0; flex-direction: column; align-items: stretch; box-shadow: var(--sh); top:100%;}
  .progressCount.open {page-break-inside:auto; display: flex;}
  .el-breadcrumb-tertiary {flex-direction: column; gap:0; padding:0 1.32rem;}
  .el-breadcrumb-tertiary a {border-bottom: 1px solid var(--edge-2); padding:0.78rem 0;}
  .menu--narrow {padding:0.83rem 1.23rem 0.43rem; gap:0.85rem;}

  .entryCap {grid-template-columns: 1fr 1fr;}
}

@media (max-width: 680px) {html{font-size:100%;}
  .screenBackdrop {grid-template-columns: 1fr;}
  .menuSection {padding:0 1.4rem; text-rendering:auto;}
  .head-entry {padding:1.72rem 1.39rem 1.16rem;}.cardName:not(._af9689){tab-size:4; padding:1.28rem 1.46rem 0.24rem;}
  .py-end {padding:1.26rem 1.37rem 1.89rem;}.bannerLink, body .accordionItem{padding:1.58rem 1.32rem 1.74rem;}
  .gridIcon {gap:1.22rem; flex-direction: column; align-items: flex-start;}
  .entryCap {grid-template-columns: 1fr;}.togglePlaceholder{flex-direction: column; text-align: center; gap:0.76rem;}
}

@media (max-width: 460px) {
  .skeletonTertiary {flex: 1 1 100%;}
}

@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto; widows:2;}.progressSection{right:1.04rem; bottom:1.03rem;}
  * {shape-margin:0; text-rendering:auto; transition:none !important; animation:none !important;}
}

@media print {html .menuContainer, .py-end, html .bannerLink, body .modalButton, .accordionItem, *.screenBackdrop, .filterSummary:not(._af9689), body .progressSection, .avatarAction, .widgetTrigger:not(._af9689), .toolbarLabel{display: none !important; text-rendering:auto; will-change:auto;}
  body {background:#site-box;}
  .heroPrefix {box-shadow:none; border:0; max-width:none;}
}
