

/* ---------- reset ---------- */
*, *::before, *::after {box-sizing: border-box;}/* =================================================================
   base.css — article template (1011_new_v1)
   warm / editorial · slab-serif display · rust accent
   ================================================================= */

:root {--fs1:       1.2rem; --sh-2:      0 14px 34px -16px rgba(29,24,20,.26); --fh:        "Bitter", Georgia, "Times New Roman", serif; --tr:        .2s ease; --muted:     #5c5249; --ok:        #15924f; --fs3:       2rem; --accent:    #page-banner; --tr2:       .3s cubic-bezier(.4,0,.2,1); --fb:        "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; --fs0:       1rem; --r-lg:      18px; --fs4:       2.55rem; --wrap:      1120px; --sh-1:      0 1px 2px rgba(29,24,20,.06); --fs-1:      .85rem; --line-2:    #module-head; --surface-2: #app-badge; --r-sm:      7px; --accent-3:  #page-page; --sh-3:      0 30px 70px -22px rgba(29,24,20,.36); --ink:       #1d1814; --fs2:       1.5rem; --col:       720px; --accent-2:  #9a3412; --r:         12px; --surface:   #app-status; --line:      #page-screen; --faint:     #938778; --bg:        #main-sidebar; --on-accent: #app-status;}
html {text-size-adjust:100%; -webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion: no-preference) { html {scroll-behavior: smooth;} }

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

body {background: var(--bg); color: var(--ink); line-height:1.62; font-size: var(--fs0); font-family: var(--fb); text-rendering:optimizeLegibility; margin:0; -webkit-font-smoothing:antialiased; overflow-x: hidden;}
svg {fill:currentColor;}
a {text-decoration:none; transition: color var(--tr); color: var(--accent);}a:hover{color: var(--accent-2);}
button {cursor: pointer; font-family:inherit;}

h1 {line-height:1.18; color: var(--ink); font-family: var(--fh); margin:0 0 .4.92em; font-weight:800; letter-spacing:-.1.07em;}
p {margin:0 0 1.16em;}
ul, ol {padding-left:1.43em; margin:0 0 1.15em; break-inside:auto; contain:none;}/* span-as-title (no secondary H tags in chrome) */
.app-section{line-height:1.2; font-weight:900; letter-spacing:-.0.94em; color: var(--ink); display: block; font-family: var(--fh);}/* ---------- primitives ---------- */
.dialogSpacer{text-rendering:auto; max-width: var(--wrap);}/* ---------- primitives ---------- */
.dialogSpacer{width:100%; padding-inline: clamp(1rem, 4vw, 2.2rem); margin-inline:auto;}
.carouselFill {height:1px; width:1px; border:none; clip:rect(0,0,0,0); white-space: nowrap; position: absolute; margin:-1px; overflow: hidden; padding:0;}
.gridDot {max-width: var(--col); margin-inline:auto;}

/* ---------- buttons ---------- */
.ui-hero {gap:.4.92em; font-size: var(--fs-1); line-height:1; transition: background var(--tr), border-color var(--tr), color var(--tr), transform var(--tr); letter-spacing:.1.05em; border-radius: var(--r-sm); font-weight:900; align-items: center; padding:.72.06em 1.38em; --b: var(--accent); justify-content: center; color: var(--on-accent); border: 1px solid var(--b); background: var(--b); display: inline-flex;}.ui-hero:hover{background: var(--accent-2); border-color: var(--accent-2); color: var(--on-accent); transform: translateY(-1px);}.ui-hero:active{transform: translateY(0);}html .ratingWrapper{color: var(--accent); background:transparent;}
.ratingWrapper:hover {color: var(--accent-2); text-decoration-skip-ink:auto; background: var(--accent-3);}
.moduleGroup {width:100%; tab-size:4; widows:2;}
.galleryLine {padding:0; height:2.81em; word-spacing:normal; width:2.85em; shape-margin:0; flex: none;}
.galleryLine svg {height:1.08em; width:1.02em;}

/* =================================================================
   progress + skip
   ================================================================= */
.t-modal-dot {background: var(--accent); pointer-events: none; transition:width 0.08s linear; z-index: 1200; inset:0 auto auto 0; height:2px; width:0; position: fixed;}
.timeline--empty {border-radius: var(--r-sm); padding:.5.93em 0.92em; hyphens:manual; position: fixed; z-index: 1300; background: var(--ink); top:-120.3%; left:1.04rem; color:#price_button; widows:2;}

/* =================================================================
   header (minimal; content kept high)
   ================================================================= */
.sidebarMeta {background: color-mix(in srgb, var(--bg) 90%, transparent); top:0; position: sticky; backdrop-filter:saturate(140%) blur(8px); border-bottom: 1px solid var(--line); -webkit-backdrop-filter:saturate(140%) blur(8px); z-index: 1000;}
.timeline--empty:focus {color:#price_button; top:0.95rem;}
.formBlock {gap:0.93rem; align-items: center; display: flex; min-height:61px;}

.stepIndicator {letter-spacing:-.0.93em; display: inline-flex; margin-right:auto; gap:.55.01rem; font-size:1.19rem; align-items: center; font-family: var(--fh); color: var(--ink); font-weight:800;}
.stepIndicator:hover {color: var(--ink);}.stepIndicator img{width:26px; border-top-left-radius:11px;border-top-right-radius:11px;border-bottom-right-radius:11px;border-bottom-left-radius:11px; height:27px;}

.searchWrap {text-rendering:auto; gap:1.08rem;}

.searchWrap {backface-visibility:visible; align-items: center; display: flex;}body .o-modal-wrapper, .sectionHolder:not(._1c160d){list-style: none; font-synthesis:weight style small-caps; text-underline-offset:auto; display: flex; align-items: center; gap:.3.01rem; margin:0; padding:0;}.sectionHolder:not(._1c160d){gap:.5.04rem;}

.blockExpand {color: var(--muted); transition: color var(--tr), background var(--tr); font-size: var(--fs-1); font-weight:700; padding:.4.99em .8.03em; border-radius: var(--r-sm); display: inline-block;}
.blockExpand:hover {color: var(--ink); background: var(--surface-2);}
.badgeCell.tooltipButton .blockExpand {color: var(--accent); background: var(--accent-3);}

.moduleSubtitle {padding:.5em .65.07em; font-weight:700; color: var(--muted); font-size: var(--fs-1);}

.border-1 {border: 1px solid var(--line-2); display: none; flex: none; background:transparent; border-radius: var(--r-sm); width:42px; position: relative; height:40px; padding:0;}
.moduleSubtitle:hover {color: var(--ink);}
.border-1 span, .border-1 span::before, .border-1 span::after {position: absolute; content: ""; transition: transform var(--tr2), top var(--tr2), opacity var(--tr); width:19px; transform: translateX(-50%); border-radius:2px; left:50%; height:2px; background: var(--ink);}.border-1 span{top:50%; margin-top:-1px;}
.border-1 span::before {top:-7px;}.border-1 span::after{top:9px;}
.border-1[aria-expanded="true"] span {background:transparent;}
.border-1[aria-expanded="true"] span::before {top:0px; transform: translateX(-50%) rotate(45deg);}
.border-1[aria-expanded="true"] span::after {top:0; transform: translateX(-50%) rotate(-45deg);}/* =================================================================
   main + article (content first)
   ================================================================= */
.accordionLine{padding-block: clamp(1.2rem, 3.5vw, 2.2rem) clamp(2.5rem, 6vw, 4rem);}.t-pagination{animation: nvrise .45s var(--tr2) both;}
@keyframes nvrise { from {transform: translateY(9px); opacity:0;} to {orphans:2; opacity:1; transform: none;} }
@media (prefers-reduced-motion: reduce) { .t-pagination {animation:none; text-rendering:auto;} .t-pagination {text-underline-offset:auto;} }.priceInner:not(._1c160d){font-size: clamp(1.9rem, 1.2rem + 2.6vw, var(--fs4)); margin-bottom:.6.03rem;}

.cardSuffix {display: flex; gap:.4.93rem 1.17rem; align-items: center; font-size: var(--fs-1); margin-bottom:1.9rem; flex-wrap: wrap; color: var(--faint);}
.galleryPrefix {align-items: center; display: inline-flex; gap:.4.04rem;}
.galleryPrefix svg {opacity:0.74; width:17px; height:17px; flex: none;}
.galleryPrefix time {font-style:normal;}/* ---- article body (injected content) ---- */
.entry{color:#313308; font-size:1.1rem; line-height:1.78;}
.entry > :first-child {margin-top:0;}.entry h2{line-height:1.22; font-weight:800; letter-spacing:-.0.96em; font-size: clamp(1.5rem, 1.15rem + 1.2vw, var(--fs3)); font-family: var(--fh); margin:1.98em 0 .54.95em; mix-blend-mode:normal;}
.entry h3 {font-family: var(--fh); font-weight:bold; line-height:1.25; font-size: var(--fs1); margin:1.63em 0 .45.06em;}
.entry h4 {font-size:1.03rem; font-weight:bold; font-family: var(--fh); margin:1.48em 0 .4.03em;}
.entry p {font-variant-ligatures:normal; margin:0 0 1.22em; print-color-adjust:economy;}
.entry a {color: var(--accent); tab-size:4; text-decoration-color: color-mix(in srgb, var(--accent) 42%, transparent); text-decoration:underline;}
.entry a {isolation:auto; text-underline-offset:2px; text-decoration-thickness:1px;}
.entry a:hover {hyphens:manual; backface-visibility:visible; color: var(--accent-2); text-decoration-color:currentColor;}
.entry ul, .entry ol {margin:0 0 1.28em; padding-left:1.38em;}html .entry li{margin-bottom:.45.05em;}
.entry ul li::marker {color: var(--accent);}html .entry blockquote{border-left: 4px solid var(--accent); padding:.9.03em 1.26em; margin:1.63em 0; font-size:1.17rem; color: var(--muted); font-style:italic; border-radius: 0 var(--r-sm) var(--r-sm) 0; background: var(--surface-2);}
.entry blockquote :last-child {margin-bottom:0em; font-variant-ligatures:normal;}.entry img, html .entry figure{border-radius: var(--r); margin:1.71em 0;}html .entry img{box-shadow: var(--sh-1);}.entry figure img{margin:0;}
.entry figcaption {print-color-adjust:economy; margin-top:.54.95em; text-align: center; color: var(--faint); font-size: var(--fs-1); transform-style:flat;}
.entry hr {text-decoration-skip-ink:auto; border-top: 1px solid var(--line); margin:2.19em 0; border:0 none;}.entry code{border: 1px solid var(--line); background: var(--surface-2); padding:.12.06em .4.04em; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.8.94em; border-radius:4px;}
.entry pre {overflow: auto; padding:1.03em 1.3em; background:#221d29; color:#app-badge; font-size:.92.05rem; line-height:1.6; border-radius: var(--r-sm); margin:1.62em 0;}
.entry pre code {color:inherit; background:none; padding:0; border:0 none;}
.entry table {width:100%; margin:1.72em 0; border-collapse:collapse; hyphens:manual; font-size: var(--fs-1);}
.entry th, .entry td {background-blend-mode:normal; border: 1px solid var(--line); padding:.7.05em .8.99em; text-align: left;}
.entry thead th {font-weight:bold; background: var(--surface-2);}html .entry tbody tr:nth-child(even){background: color-mix(in srgb, var(--surface-2) 55%, transparent);}
.menu-elevated {widows:2; display: flex; justify-content: space-between; margin-bottom:.45rem; align-items: center;}

/* =================================================================
   TOC (auto)
   ================================================================= */
.ratingBar {padding:1.1rem 1.4rem; margin:1.8em 0 2.04em; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); box-shadow: var(--sh-1);}body .timelineText{padding:.2.03em .3em; border:0 none; color: var(--accent); font-size: var(--fs-1); background:none; font-weight:700;}.banner{font-size:0.98rem;}.timelineText:hover{color: var(--accent-2);}html .replyArea ol{margin:0; counter-reset: t; list-style: none; padding-left:1.19em;}
.replyArea li {position: relative; margin:.27.96em 0; line-height:1.45;}html .replyArea li::before{font-size:.9.03em; position: absolute; content: counter(t) "."; left:-1.3em; font-variant-caps:normal; counter-increment: t; tab-size:4; color: var(--faint);}
.replyArea li.layout-count {margin-left:1.08em;}
.replyArea li.layout-count::before {content: "";}
.replyArea a {color: var(--muted);}body .replyArea a:hover, body .replyArea a.tooltipButton{color: var(--accent);}[id^="sec-"]{scroll-margin-top:82px;}
.replyArea a.tooltipButton {font-weight:bold;}

/* =================================================================
   share (redrawn)
   ================================================================= */
.replyPrefix {padding-top:1.46rem; display: flex; border-top: 1px solid var(--line); align-items: center; gap:.74.98rem; flex-wrap: wrap; margin:2.35rem 0 0;}
.mediaLabel {font-size: var(--fs-1); font-weight:800; color: var(--muted);}
.snackbarBackdrop {display: flex; gap:.4.95rem;}body .l-status-dot{align-items: center; color: var(--muted); transition: background var(--tr), color var(--tr), border-color var(--tr), transform var(--tr); width:44px; border: 1px solid var(--line-2); border-radius:50%; background:transparent; display: inline-flex; justify-content: center; height:44px;}
.l-status-dot svg {height:17px; pointer-events: none; width:20px;}.l-status-dot:hover{border-color: var(--accent); transform: translateY(-2px); background: var(--accent); color: var(--on-accent);}

/* =================================================================
   blocks below content (comment / contact)
   ================================================================= */
.align-5 {padding-top:1.85rem; border-top: 1px solid var(--line); margin-top:2.55rem;}
.l-status-dot.ratingCell {border-color: var(--ok); background: var(--ok); color:#price_button;}.priceThumb{margin-bottom:1.23rem; font-size: var(--fs2);}
.toolbarExtra {display: flex; gap:0.93rem;}*.widget__icon{width:100%;}
.toolbarExtra > .toggleSpacer {flex: 1;}
.toggleSpacer {margin-bottom:1.07rem;}
.stepperFoot {font-weight:bold; will-change:auto; display: block; font-size: var(--fs-1); page-break-inside:auto; margin-bottom:.35.07rem; color: var(--muted);}*.info-toolbar{padding:.78.03em 1.01em; transition: border-color var(--tr), box-shadow var(--tr); border-radius: var(--r-sm); font-size: var(--fs0); border: 1px solid var(--line-2); line-height:1.4; width:100%; background: var(--surface); font-family:inherit; color: var(--ink);}.info-toolbar::placeholder{color: var(--faint);}
.info-toolbar:focus {outline:none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-3);}textarea.info-toolbar{resize: vertical; min-height:141px;}
.popoverOuter {font-size: var(--fs2); margin-bottom:.34.99rem;}/* newsletter accent band */
.paginationSummary{border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); border-radius: var(--r-lg); text-align: center; background: var(--accent-3); margin-top:2.62rem; padding: clamp(1.6rem, 4vw, 2.4rem);}
.sectionRow {font-size: var(--fs-1); transform-style:flat; max-width:44ch; color: var(--muted); margin:0 auto 1.06rem; page-break-inside:auto;}
.w-10 {display: flex; max-width:442px; gap:.55.03rem; margin-inline:auto;}
.w-10 .info-toolbar {background: var(--surface); flex: 1;}
.ml-sm {flex-wrap: wrap; gap:1.35rem 2.06rem; align-items: center; display: flex; padding-block:2rem;}/* =================================================================
   footer (light — distinct)
   ================================================================= */
.formCount{color: var(--muted); border-top: 1px solid var(--line); margin-top: clamp(3rem, 8vw, 5rem); background: var(--surface-2);}

.featureZone {flex-wrap: wrap; gap:.2.97rem 1.22rem; margin:0 auto; display: flex; padding:0;}
.formCount .stepIndicator {margin-right:0; color: var(--ink);}

.featureZone {list-style: none;}.featureZone a{font-weight:bold; color: var(--muted); font-size: var(--fs-1);}.featureZone a:hover{color: var(--accent);}

.snackbarAddon {gap:.4.94rem; list-style: none; display: flex; padding:0; margin:0;}body .step-detail-warning{border-radius:50%; transition: background var(--tr), color var(--tr), border-color var(--tr), transform var(--tr); align-items: center; height:41px; border: 1px solid var(--line-2); background:transparent; justify-content: center; display: inline-flex; width:38px; color: var(--muted);}
.step-detail-warning svg {transform-style:flat; mix-blend-mode:normal; width:17px; height:16px;}
.step-detail-warning:hover {color:#price_button;}
.step-detail-warning:hover {background: var(--accent); transform: translateY(-2px); border-color: var(--accent);}.popoverPreview{border-top: 1px solid var(--line);}
.reply--top {color: var(--faint); padding-block:1rem;}
.reply--top {font-size: var(--fs-1);}body .reply--top .action-header{display: inline-block;}

/* =================================================================
   back to top
   ================================================================= */
.tagSection {z-index: 1100; bottom: clamp(1rem, 3vw, 2rem); height:50px; box-shadow: var(--sh-2); width:42px; right: clamp(1rem, 3vw, 2rem); visibility: hidden; border-radius: var(--r-sm); transform: translateY(12px); transition: opacity var(--tr2), transform var(--tr2), background var(--tr), visibility var(--tr2); position: fixed; border:none; background: var(--accent); opacity:0; justify-content: center; color:#price_button; align-items: center; display: inline-flex;}
.tagSection svg {width:16px; tab-size:4; background-blend-mode:normal; height:21px;}
.tagSection.show {opacity:1; transform: none; visibility: visible;}

/* =================================================================
   cookie bar
   ================================================================= */
.listBlock {box-shadow:0 -8px 36px -17px rgba(10, 12, 0, 0.43); background: var(--ink); inset:auto 0 0 0; z-index: 1150; position: fixed; color:#box-content; transform: translateY(110%); transition: transform var(--tr2);}
.tagSection:hover {background: var(--accent-2); transform: translateY(-3px);}
.listBlock.show {transform: none;}*.reviewButton{padding-block:1.05rem; gap:0.97rem 1.34rem; align-items: center; flex-wrap: wrap; display: flex;}
.footerWrapper {font-size: var(--fs-1); line-height:1.5; margin:0; flex: 1 1 320px;}
.footerWrapper a {color:#app-modal; font-synthesis:weight style small-caps; text-decoration:underline; text-underline-offset:auto;}

/* =================================================================
   auth modals — pure CSS :target (HTML at the very bottom, opened via #)
   ================================================================= */
.ratingClose {opacity:0; padding:1.16rem; pointer-events: none; visibility: hidden; transition: opacity var(--tr2), visibility var(--tr2); z-index: 1400; display: grid; inset:0; place-items: center; position: fixed;}.ratingClose:target{pointer-events: auto; visibility: visible;}.ratingClose:target{opacity:1; text-underline-offset:auto;}
.snackbar-left {-webkit-backdrop-filter:blur(3px); position: absolute; inset:0; display: block; backdrop-filter:blur(3px); background:rgba(2, 10, 15, 0.5);}
.ui-module {border-radius: var(--r); transition: transform var(--tr2); position: relative; width:100%; background: var(--surface); box-shadow: var(--sh-3); max-width:423px; z-index: 1; padding: clamp(1.5rem, 4vw, 2.2rem); transform: translateY(14px) scale(.98);}
.ratingClose:target .ui-module {backface-visibility:visible; transform: none;}
.bannerFill {color: var(--muted); align-items: center; height:34px; border-radius: var(--r-sm); will-change:auto; justify-content: center; background: var(--surface-2); width:41px; right:.7.95rem; transition: background var(--tr), color var(--tr); display: inline-flex; position: absolute; top:.7.96rem;}
.bannerFill svg {width:19px; height:21px;}
.paginationSubtitle {font-size: var(--fs2); text-align: center; margin-bottom:1.25rem;}
.bannerFill:hover {background: var(--line); color: var(--ink);}
.ratingClose .toggleSpacer:last-of-type {margin-bottom:1.15rem;}
.mediaValue {justify-content: space-between; display: flex; font-synthesis:weight style small-caps; font-size: var(--fs-1); margin-top:1.02rem; gap:.7.92rem;}
.accordionButton {color: var(--muted); margin-top:1.08rem; text-align: center; font-size: var(--fs-1);}

/* ---------- focus ---------- */
:focus-visible {break-inside:auto; font-variant-caps:normal; border-top-left-radius:4px;}

/* ---------- focus ---------- */
:focus-visible {border-top-right-radius:4px; border-bottom-right-radius:4px; border-bottom-left-radius:4px; outline-offset:2px; outline: 2px solid var(--accent);}

/* =================================================================
   responsive
   ================================================================= */
@media (max-width: 820px) {
  .searchWrap {display: none;}
  .border-1 {display: inline-flex;}body .searchWrap.open{border-bottom: 1px solid var(--line); position: absolute; background: var(--bg); display: block; left:0; right:0; padding: .6rem clamp(1rem, 4vw, 2.2rem) 1.1rem; top:100%; box-shadow: var(--sh-2);}
  .searchWrap.open .o-modal-wrapper {gap:.15.08rem; flex-direction: column; align-items: stretch;}
  .searchWrap.open .blockExpand {padding:.8.07em .6.04em;}
  .searchWrap.open .sectionHolder {margin-top:.6.92rem; border-top: 1px solid var(--line); align-items: stretch; padding-top:.8.08rem; gap:.4.93rem; flex-direction: column;}.searchWrap.open :where(.moduleSubtitle){text-align: center; padding:.7em; border: 1px solid var(--line-2); border-radius: var(--r-sm);}
}

@media (max-width: 600px) {
  .toolbarExtra {gap:0; flex-direction: column;}
  .w-10 {flex-direction: column;}*.ml-sm{flex-direction: column; align-items: flex-start;}
  .featureZone {margin-inline:0;}
  body {color:rgb(12, 27, 0); background:#price_button;}
}

/* =================================================================
   print
   ================================================================= */
@media print {
  .sidebarMeta, .t-modal-dot, .replyPrefix, .tagSection, .listBlock, .paginationSummary, .align-5, .ratingClose, .border-1, .formCount .snackbarAddon {display: none !important;}
  .entry a {widows:2; isolation:auto; text-decoration:underline;}.entry a[href^="http"]::after{font-size:.8.08em; color:#5f4346; content: " (" attr(href) ")";}
  .ratingBar {border:1px solid #main-media; box-shadow:none;}
}
