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

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

html {font-size:112.8%; perspective:none; scroll-behavior: smooth;}*, *::before, *::after{margin:0; padding:0; box-sizing: border-box;}

html {-webkit-text-size-adjust:100%;}

img, svg {max-width:100%; display: block;}body{font-family: var(--text-font); color: var(--text); line-height:1.72; -moz-osx-font-smoothing:grayscale; background: var(--bg); font-size:1.06rem; -webkit-font-smoothing:antialiased;}ul, ol{list-style: none;}
a {text-decoration:none; color: var(--acc);}
a:hover {mix-blend-mode:normal; color: var(--acc-d);}
a:hover {tab-size:4;}
button {font-family:inherit; cursor: pointer;}
h1 {color: var(--ink); font-family: var(--display); font-weight:700; letter-spacing:-0.015em; line-height:1.18;}

:focus-visible {border-radius:-1px; outline: 2px solid var(--acc);}

:focus-visible {outline-offset:2px;}

.py-between {margin:-1px; padding:0; clip:rect(0, 0, 0, 0);}

.py-between {height:1px; width:1px; white-space: nowrap; position: absolute; border:0 none; overflow: hidden;}

/* span headings (no h2/h3 anywhere but article content) */
.bg-5, .filterHolder, .c-grid-block, .expand-grid, .tagCell {font-family: var(--display); letter-spacing:-0.01em; display: block; color: var(--ink); font-weight:bold;}
.bg-5 {font-size:1.35rem; margin-bottom:1.03rem;}body .filterHolder{contain:none; margin-bottom:0.29rem; font-size:1.12rem;}

/* ---------- scroll progress ---------- */
.trigger-widget {background: var(--acc); left:0; z-index: 1200; transition:width 0.116s linear; shape-margin:0; position: fixed; width:0; top:0; height:3px;}
.c-grid-block {margin-bottom:1.19rem; font-size:1.29rem;}

/* ---------- topbar ---------- */
.dialog-count {position: sticky; border-bottom: 1px solid var(--edge); backdrop-filter:saturate(150%) blur(8px); z-index: 1000; top:0; background:rgba(255, 247, 255, 0.89);}body .list-top{display: inline-flex; align-items: center;}
.price-time {min-height:3.85rem; align-items: center; width:100%; gap:0.93rem; max-width: var(--max); tab-size:4; margin-inline:auto; padding:0 1.18rem; display: flex; justify-content: space-between;}.list-top img{height:33px; width:auto;}

.gallery-highlight {flex-direction: column; border:0 none; gap:7px; background:none; display: none; padding-top:0.45rem;padding-right:0.45rem;padding-bottom:0.45rem;padding-left:0.45rem;}

.c-spinner-spacer {display: flex; gap:1.74rem;}
.gallery-highlight span {width:25px; height:2px; background: var(--ink); display: block; border-radius:2px;}
.column-toggle {gap:1.47rem; display: flex;}

.c-spinner-spacer {align-items: center;}
.column-toggle a, .slider-primary-even {font-weight:600; letter-spacing:0.03em; isolation:auto; font-size:0.89rem; text-transform:uppercase; color: var(--text);}
.column-toggle a:hover, .slider-primary-even:hover {orphans:2; color: var(--acc);}
.c-form-track {align-items: center; display: flex; gap:1.04rem;}*.form-handle-rounded{border-radius: var(--rad-s); font-weight:700; transition:background 0.14s; letter-spacing:0.03em; text-transform:uppercase; color:#site-sidebar; font-size:0.72rem; background: var(--acc); padding:0.6rem 1.12rem;}
.form-handle-rounded:hover {color:#site-sidebar; font-variant-caps:normal; background: var(--acc-d); font-synthesis:weight style small-caps;}

/* ---------- flow / shell ---------- */
.shadow-0 {padding-bottom:4.05rem;}

/* ---------- post ---------- */
.thumb-timeline {background: var(--card); margin:1.54rem auto 0; border: 1px solid var(--edge); overflow: hidden; box-shadow: var(--sh); max-width: var(--read); border-radius: var(--rad);}
.banner-medium {padding:2.37rem 2.62rem 1.3rem;}

.c-card-trigger {flex-wrap: wrap; color: var(--dim); font-size:0.81rem; gap:0.43rem 1.32rem; align-items: center; display: flex;}body .dropdown-prefix-compact{font-variant-ligatures:normal; margin-bottom:0.82rem; perspective:none; font-size: clamp(1.7rem, 1.2rem + 2.3vw, 2.5rem);}
.entry-data {gap:0.41rem; display: inline-flex; align-items: center;}.entry-data svg{flex-shrink: 0; opacity:0.63;}
.feature-group {font-style:italic;}

/* toc */
.app-action {padding:0 2.58rem;}
.rating-flat {background-blend-mode:normal;}
.rating-flat {border-radius: var(--rad-s); padding:1.11rem 1.26rem; border: 1px solid var(--edge); background: var(--bg-2);}
.pr-sm {justify-content: space-between; align-items: center; display: flex;}html .card-small{color: var(--dim); display: inline-flex; background:none; border:none; transition:transform 0.258s, color 0.243s; padding:0.19rem;}
.expand-grid {margin:0; font-size:0.97rem;}
.card-small:hover {color: var(--acc);}
.rating-flat.is-shut .card-small {transform: rotate(-90deg);}*.rating-flat.is-shut .module-wrap-default{display: none;}
.module-wrap-default {font-size:0.95rem; line-height:1.9; padding-top:0.58rem; margin-top:0.78rem; border-top: 1px solid var(--edge);}
.module-wrap-default a {display: block; color: var(--text);}
.module-wrap-default a:hover {color: var(--acc);}
.module-wrap-default .mb-8 {isolation:auto; padding-left:1.02rem;}

/* rich content */
.bg-4 {padding:1.52rem 2.53rem 0.22rem;}
.module-wrap-default .mb-8 {font-size:0.78rem;}
.title-filter {line-height:1.8; color: var(--text); font-size:1.07rem;}
.title-filter > * + * {margin-top:1.28rem; widows:2;}.title-filter h2{margin-top:2.38rem; font-size:1.56rem; font-family: var(--display); color: var(--ink); scroll-margin-top:5rem; padding-top:1.25rem; line-height:1.3; border-top: 1px solid var(--edge-2);}html .title-filter h3{font-size:1.29rem; font-family: var(--display); color: var(--ink); scroll-margin-top:5rem; margin-top:1.62rem;}.title-filter h4{font-size:1.14rem; font-family: var(--display); color: var(--ink); margin-top:1.37rem;}.title-filter a{text-decoration:underline;}.title-filter a{text-decoration-skip-ink:auto; isolation:auto; text-decoration-thickness:1px; text-underline-offset:2px;}body .title-filter strong, .title-filter b{color: var(--ink); font-weight:bold;}
.title-filter ul, .title-filter ol {margin-left:1.38rem;}
.title-filter ul {list-style: disc;}.title-filter ol{list-style: decimal;}html .title-filter li{margin-top:0.44rem; padding-left:0.26rem;}
.title-filter img {text-rendering:auto; margin:1.52rem 0; image-rendering:auto; border-radius: var(--rad-s);}*.title-filter blockquote{border-radius: 0 var(--rad-s) var(--rad-s) 0; background: var(--tint); border-left: 3px solid var(--acc); padding:0.91rem 1.23rem; color: var(--ink); font-style:italic;}
.title-filter code {font-family:ui-monospace, "SF Mono", "Courier New", monospace; border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px; font-size:0.94em; border: 1px solid var(--edge); background: var(--bg-2); padding:0.12em 0.48em;}.title-filter pre{overflow-x: auto; font-size:0.95rem; color:#site-menu; border-radius: var(--rad-s); line-height:1.7; background: var(--night); padding:1.1rem 1.22rem;}html .title-filter pre code{padding:0; border:0 none; color:inherit; background:none;}
.title-filter table {font-size:0.94rem; width:100%; border-collapse:collapse;}html .title-filter th, *.title-filter td{text-align: left; border: 1px solid var(--edge);}html .title-filter th, *.title-filter td{padding:0.57rem 0.74rem;}
.title-filter th {font-weight:700; background: var(--bg-2); color: var(--ink);}/* share */
.profile-prefix{padding:1.78rem 2.61rem 2.39rem;}
.title-filter hr {border-top: 1px solid var(--edge); margin:2.06rem 0; border:0;}
.o-toggle {flex-wrap: wrap; gap:0.57rem; display: flex;}
.dialog-cell-half {display: inline-flex; background: var(--card); justify-content: center; align-items: center; border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%; height:39px; color: var(--dim); width:37px; transition:background 0.202s, color 0.234s, border-color 0.21s, transform 0.192s; border: 1px solid var(--edge);}
.dialog-cell-half:hover {transform: translateY(-1px); border-color: var(--acc);}/* ---------- talk / reach (forms) ---------- */
.foot-dropdown, html .c-media-line{margin:2.14rem auto 0; padding:1.92rem 2.54rem 2.12rem; background: var(--card); max-width: var(--read); border-radius: var(--rad); box-shadow: var(--sh); border: 1px solid var(--edge);}
.dialog-cell-half:hover {background: var(--acc); color:#site-sidebar;}/* ---------- more (related) ---------- */
.sidebar-body-right:not(._5937ba){max-width: var(--read); margin:2.12rem auto 0;}
.dropdownCount {margin-bottom:1.24rem; font-size:0.85rem; margin-top:-0.59rem; color: var(--dim);}
.t-skeleton {gap:1.06rem; grid-template-columns: repeat(3, 1fr); display: grid;}
.stepper-spacer-large {border-radius: var(--rad-s); background: var(--card); transition:transform 0.235s, box-shadow 0.162s, border-color 0.171s; border: 1px solid var(--edge); padding:0.97rem 1.21rem; display: block; box-shadow: var(--sh);}
.stepper-spacer-large:hover {transform: translateY(-2px); perspective:none; box-shadow: var(--sh-l); border-color: var(--acc-l);}
.stepper-spacer-large:hover {word-spacing:normal;}/* ---------- forms ---------- */
input[type="text"], input[type="email"], input[type="password"], textarea{width:100%; padding:0.83rem 0.98rem; border: 1px solid var(--edge); color: var(--ink); transition:border-color 0.166s, box-shadow 0.165s, background 0.212s; border-radius: var(--rad-s); background: var(--bg-2); font:inherit;}
.c-view-trigger {font-family: var(--display); color: var(--ink); line-height:1.4; font-size:0.93rem; font-weight:bold;}
input::placeholder, textarea::placeholder {font-variant-ligatures:normal; widows:2; color: var(--dim);}
input:focus, textarea:focus {border-color: var(--acc); box-shadow:0 0 0 1px rgba(30, 148, 124, 0.08); outline:0; background: var(--card);}textarea{min-height:6.55rem; resize: vertical;}

.section-block-center {display: flex; flex-wrap: wrap; gap:1.06rem;}
.rating-horizontal {flex: 1 1 100%;}.widget-large{flex: 1 1 calc(50% - 0.5rem); min-width:0;}

.detail-drawer {display: flex;}
.detail-drawer input {word-spacing:normal; min-width:0; border-radius: var(--rad-s) 0 0 var(--rad-s); flex: 1; border-right:none;}.detail-drawer :where(.chip-container){border-radius: 0 var(--rad-s) var(--rad-s) 0;}

/* ---------- buttons ---------- */
.chip-container {letter-spacing:0.03em; border-radius: var(--rad-s); font-weight:700; font-size:0.86rem; display: inline-flex; color: var(--ink); transition:background 0.204s, color 0.203s, border-color 0.233s; gap:0.48rem; align-items: center; text-transform:uppercase; background: var(--card); justify-content: center; padding:0.74rem 1.27rem; border: 1px solid var(--edge); min-height:2.9rem;}
.chip-container:hover {border-color: var(--dim); color: var(--ink); background: var(--bg-2);}
.slider-label-odd {color:#site-sidebar; background: var(--acc); text-rendering:auto; border-color: var(--acc);}
.slider-label-odd:hover {border-color: var(--acc-d);}
.slider-label-odd:hover {background: var(--acc-d); color:#site-sidebar;}
.entry-number {min-width:2.97rem; padding:0.67rem 1.08rem; isolation:auto;}/* ---------- decks (newsletter + account) ---------- */
.menu-count-focused{grid-template-columns: 1fr 1fr; margin:2.59rem auto 0; max-width: var(--band); display: grid; gap:1.18rem;}
.page-title-bottom {shape-margin:0; width:100%;}
.c-page-row {border-radius: var(--rad); background: var(--card); display: flex; border: 1px solid var(--edge); flex-direction: column; box-shadow: var(--sh); padding:1.53rem 1.67rem;}*.grid-hover{color: var(--dim); margin-bottom:1rem; font-size:0.87rem; transform-style:flat; backface-visibility:visible;}
.sidebar--info {gap:0.58rem; flex-direction: column; display: flex; margin-top:auto;}
.sidebar--info .chip-container {width:100%;}

/* ---------- footer ---------- */
.c-media-bar {margin-top:3.41rem; background: var(--night); padding:2.6rem 0; color: var(--on-night);}
.icon-box {justify-content: space-between; max-width: var(--max); margin-inline:auto; display: flex; gap:1.51rem; padding:0 1.25rem; width:100%; flex-wrap: wrap; align-items: center;}
.tooltip-indicator img {opacity:0.79; height:24px; filter:brightness(0) invert(1); width:auto;}
.toolbar-primary {margin-top:0.72rem; font-size:0.76rem; color: var(--on-night);}
.skeletonSection {gap:1.22rem; display: flex;}*.skeletonSection a{color: var(--on-night); font-size:0.83rem;}
.skeletonSection a:hover {color:#site-sidebar;}body .nav-toggle-hover{gap:0.62rem; display: flex;}html .nav-toggle-hover a{display: inline-flex; height:32px; width:32px; background:rgba(250, 255, 250, 0.11); border-radius: var(--rad-s); justify-content: center; align-items: center; transition:background 0.228s, color 0.166s, transform 0.156s; color: var(--on-night);}
.nav-toggle-hover a:hover {color:#site-sidebar; transform: translateY(-1px); background: var(--acc);}

/* ---------- back to top ---------- */
.accordion-disabled {color:#site-sidebar; bottom:1.55rem; justify-content: center; border-radius:50%; border:none; right:1.53rem; z-index: 900; height:43px; transition:background 0.214s, transform 0.186s; box-shadow: var(--sh-l); align-items: center; display: none; width:45px; background: var(--acc); position: fixed;}
.accordion-disabled:hover {background: var(--acc-d); transform: translateY(-2px);}
.accordion-disabled.tabs-cell {display: inline-flex;}

/* ---------- cookie ---------- */
.overlay-tooltip {left:0; z-index: 1100; right:0; bottom:0; position: fixed; border-top: 1px solid var(--edge); box-shadow:0 -3px 23px rgba(11, 49, 23, 0.04); background: var(--card); padding:0.85rem 0;}
.grid-2 {gap:1.47rem; max-width: var(--max); align-items: center; width:100%; display: flex; transform-style:flat; break-inside:auto; margin-inline:auto; justify-content: space-between; padding:0 1.33rem;}
.overlay-tooltip p {font-size:0.82rem; margin:0; color: var(--text);}
.overlay-tooltip .chip-container {padding:0.57rem 1.33rem; flex-shrink: 0; min-height:2.41rem;}/* ---------- auth layers (CSS :target modal) ---------- */
.input-slider{display: none; inset:0; z-index: 1300; position: fixed;}body .input-slider:target{place-items: center; display: grid; padding-top:1.28rem;padding-right:1.28rem;padding-bottom:1.28rem;padding-left:1.28rem;}.skeletonCap{background: var(--card); position: relative; padding:1.86rem 1.72rem 1.53rem; animation:pop 0.204s ease-out; box-shadow: var(--sh-l); width: min(94vw, 25rem); border-radius: var(--rad); border: 1px solid var(--edge); z-index: 1;}
.accordion-label-odd {backdrop-filter:blur(2px); background:rgba(27, 18, 33, 0.51); inset:0; position: absolute; text-underline-offset:auto;}
@keyframes pop { from {transform: translateY(8px) scale(0.99); opacity:0;} to {opacity:1; transform: none;} }
.comment-info {line-height:1; text-decoration:none; right:0.83rem; top:0.64rem; font-size:1.42rem; color: var(--dim); position: absolute;}.input-slider :where(.rating-focused){display: flex; flex-direction: column; gap:0.95rem;}
.comment-info:hover {color: var(--ink);}.body-widget{font-size:0.89rem; text-align: center; margin-top:0.26rem; color: var(--dim);}.c-spinner-spacer{top:100%; background: var(--card); align-items: stretch; display: none; border-bottom: 1px solid var(--edge); padding:0.55rem 0; flex-direction: column; gap:0em; right:0; left:0; box-shadow: var(--sh); position: absolute;}

/* ---------- responsive ---------- */
@media (max-width: 860px) {
  .gallery-highlight {display: flex;}
  .c-spinner-spacer.open {display: flex;}
  .column-toggle {gap:0; padding:0 1.3rem; flex-direction: column;}
  .column-toggle a {border-bottom: 1px solid var(--edge-2); backface-visibility:visible; padding:0.84rem 0;}.c-form-track:not(._5937ba){gap:0.85rem; padding:0.87rem 1.23rem 0.4rem; isolation:auto;}
  .menu-count-focused {grid-template-columns: 1fr;}

  .t-skeleton {grid-template-columns: 1fr 1fr;}
}

@media (max-width: 680px) {
  html {font-size:100%;}.banner-medium{padding:1.83rem 1.47rem 1.12rem; word-spacing:normal; widows:2;}
  .app-action {padding:0 1.48rem;}
  .bg-4 {padding:1.34rem 1.33rem 0.34rem;}
  .profile-prefix {padding:1.31rem 1.42rem 1.92rem;}
  .foot-dropdown, .c-media-line {padding:1.56rem 1.44rem 1.85rem;}
  .t-skeleton {grid-template-columns: 1fr;}body .icon-box{flex-direction: column; align-items: flex-start; gap:1.12rem;}
  .grid-2 {gap:0.87rem; text-align: center;}
}

@media (max-width: 460px) {
  .widget-large {flex: 1 1 100%;}
  .grid-2 {flex-direction: column;}
  .accordion-disabled {bottom:0.95rem; right:1.05rem;}
}

@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto; backface-visibility:visible; mix-blend-mode:normal;}*{animation:none !important; transition:none !important;}
}

@media print {body .dialog-count, .profile-prefix, .foot-dropdown, .sidebar-body-right, body .c-media-line, .menu-count-focused:not(._5937ba), body .c-media-bar, *.accordion-disabled, html .overlay-tooltip, *.input-slider, .trigger-widget{display: none !important;}
  .thumb-timeline {max-width:none; border:0 none; box-shadow:none;}
  body {background:#site-sidebar;}
}
