:root {
  --forest: #173d2c;
  --forest-deep: #0d2a1d;
  --moss: #6f8062;
  --sand: #eee9df;
  --paper: #faf9f5;
  --orange: #d85d31;
  --shadow: 0 18px 50px rgba(20, 34, 26, .08);
}

html { scroll-behavior: smooth; }

body {
  background:
    radial-gradient(circle at 8% 4%, rgba(111,128,98,.12), transparent 24rem),
    linear-gradient(180deg, #f7f5ef 0, #fbfaf7 34rem, #f3f0e9 100%);
  color: #172019;
}

.wrap { max-width: 1040px; }

.tag {
  width: fit-content;
  margin-top: 18px;
  padding: 10px 14px;
  border: 1px solid rgba(23,61,44,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(12px);
  color: var(--forest);
}

header { padding: 70px 0 54px; }
header h1 { max-width: 820px; letter-spacing: -.045em; }
.what { color: #687068; }

.site-hero {
  min-height: 590px;
  margin-top: 20px;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(10,28,19,.22);
}
.site-hero::after {
  background: linear-gradient(90deg, rgba(7,23,15,.86) 0%, rgba(7,23,15,.54) 47%, rgba(7,23,15,.08) 78%);
}
.site-hero header { padding: 0 64px 58px; }
.site-hero h1 { font-size: clamp(42px, 6.4vw, 76px); line-height: 1.02; color: white; }
.site-hero .what, .site-hero .sub { color: rgba(255,255,255,.78); }

section {
  margin-top: 34px;
  padding: 48px 52px;
  border: 1px solid rgba(23,61,44,.09);
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow);
}
section[style] { padding-top: 48px !important; }
section h2 { margin-top: 0; color: var(--forest-deep); letter-spacing: -.025em; }
section h2{display:flex;align-items:center;gap:12px}
section h2::before {
  content: "";
  display:inline-grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  margin:0;
  border:1px solid rgba(23,61,44,.22);
  border-radius:10px;
  background:#f2f4ef;
  color:var(--forest);
  background-repeat:no-repeat;
  background-position:center;
  background-size:22px 22px;
  font:700 15px/1 system-ui,sans-serif;
}
section h2[data-icon="brand"]::before{background-image:url("icon-brand.svg")}
section h2[data-icon="rank"]::before{background-image:url("icon-rank.svg")}
section h2[data-icon="price"]::before{background-image:url("icon-price.svg")}
section h2[data-icon="info"]::before{background-image:url("icon-info.svg")}
section h2[data-icon="compare"]::before{background-image:url("icon-compare.svg")}
section h2[data-icon="method"]::before{background-image:url("icon-method.svg")}
section h2[data-icon="memo"]::before{background-image:url("icon-memo.svg")}
section h2[data-icon="history"]::before{background-image:url("icon-history.svg")}
section h2[data-icon="search"]::before{background-image:url("icon-search.svg")}
section h2[data-icon="check"]::before{background-image:url("icon-check.svg")}
.rk{color:var(--orange);font-weight:700;letter-spacing:.03em}
.lead { max-width: 720px; }

.hero {
  margin-top: 22px;
  padding: 46px 52px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--forest-deep), var(--forest));
  color: white;
  box-shadow: 0 24px 60px rgba(13,42,29,.2);
}
.hero-lbl, .hero .spec dt { color: rgba(255,255,255,.58); }
.hero .spec dd { color: white; }
.hero-v { color: white; }

.shot {
  margin-top: 28px;
  border: 0;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.shot.empty {
  min-height: 320px;
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(13,42,29,.94), rgba(50,75,57,.86)),
    repeating-linear-gradient(125deg, transparent 0 18px, rgba(255,255,255,.035) 18px 19px);
  color: rgba(255,255,255,.72);
  letter-spacing: .24em;
}

.range {
  margin-top: 18px;
  padding: 30px 34px 36px;
  border: 1px solid rgba(23,61,44,.1);
  border-radius: 18px;
  background: white;
}
.range .iqr, .range .med { background: var(--orange); }

.item {
  margin: 32px 0 0;
  padding: 28px 32px;
  border-left: 4px solid var(--moss);
  border-radius: 0 14px 14px 0;
  background: rgba(111,128,98,.09);
}

.t-scroll {
  border: 1px solid rgba(23,61,44,.1);
  border-radius: 14px;
  overflow: auto;
}
table { background: rgba(255,255,255,.72); }
thead { background: #eef1eb; }
tbody tr { transition: background .18s ease; }
tbody tr:hover { background: #f4f0e7; }
td a { color: var(--forest); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.rate { color: var(--orange); font-weight: 650; }

.cta {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.btns a {
  border-radius: 999px;
  border-color: rgba(23,61,44,.25);
  color: var(--forest);
}
.btns a.solid {
  border-color: var(--forest);
  background: var(--forest);
  color: white;
}
.btns a:hover { transform: translateY(-2px); }

.checklist li {
  border-radius: 14px;
  background: #f5f4ef;
}

footer { color: #767b75; }

@media (max-width: 760px) {
  body { padding-left: 16px; padding-right: 16px; }
  .wrap { max-width: 100%; }
  .tag { margin-top: 12px; }
  .site-hero { min-height: 520px; border-radius: 18px; }
  .site-hero header { padding: 0 24px 36px; }
  .site-hero h1 { font-size: clamp(38px, 12vw, 56px); }
  header { padding: 50px 0 34px; }
  section, section[style] { margin-top: 20px; padding: 30px 22px !important; border-radius: 16px; }
  section h2::before { flex-basis:28px; width:28px; height:28px; border-radius:9px; font-size:13px; }
  .hero { padding: 34px 26px; border-radius: 16px; }
  .shot.empty { min-height: 230px; border-radius: 16px; }
  .range { padding: 24px 20px 32px; }
  .item { padding: 22px 20px; }
}

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

/* Brand mark and quieter model-summary layout */
.site-brand{display:grid;grid-template-columns:42px auto;grid-template-rows:auto auto;width:fit-content;margin-top:20px;color:var(--forest-deep);text-decoration:none}
.site-brand img{grid-row:1/3;width:34px;height:34px;margin-right:10px;border-radius:8px}
.site-brand strong{font-size:16px;line-height:1.15;letter-spacing:.08em}
.site-brand span{margin-top:3px;color:#798078;font-size:9px;letter-spacing:.12em}
.hero{margin-top:22px;padding:38px 0;border-top:1px solid rgba(23,61,44,.14);border-bottom:1px solid rgba(23,61,44,.14);border-radius:0;background:transparent;color:inherit;box-shadow:none}
.hero-lbl,.hero .spec dt{color:#727970}.hero .spec dd,.hero-v{color:var(--forest-deep)}
@media(max-width:760px){.site-brand{margin-top:14px}.hero{padding:30px 0;border-radius:0}}
/* Mobile hero title: deliberate two-line lockup */
.site-hero h1 span{display:block}
@media(max-width:760px){
  .site-hero{min-height:460px}
  .site-hero::after{background:linear-gradient(0deg,rgba(5,15,10,.92) 0%,rgba(5,15,10,.68) 48%,rgba(5,15,10,.18) 82%)}
  .site-hero header{left:28px;right:24px;bottom:34px;padding:0}
  .site-hero h1{font-size:40px;line-height:1.13;letter-spacing:-.035em;text-shadow:0 2px 18px rgba(0,0,0,.3)}
  .site-hero h1 span{white-space:nowrap}
  .site-hero .what{font-size:12px;line-height:1.6;margin:18px 0 22px;letter-spacing:.08em}
}
@media(max-width:370px){.site-hero h1{font-size:36px}}
/* Mobile tables: preserve readable columns instead of crushing text */
.t-scroll{position:relative;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.t-scroll table{min-width:680px}
.t-scroll table:has(thead th:nth-child(2):last-child){min-width:100%}
th.num,td.num,.rate,.yr{white-space:nowrap}
td.mdl a,td.mdl em{display:block}
td.mdl a{white-space:nowrap}
@media(max-width:760px){
  .t-scroll{margin-left:-6px;margin-right:-6px;border-radius:12px}
  .t-scroll table{width:680px;table-layout:auto}
  .t-scroll table:has(thead th:nth-child(2):last-child){width:100%;min-width:100%;table-layout:fixed}
  .t-scroll table:has(thead th:nth-child(2):last-child) th:first-child,
  .t-scroll table:has(thead th:nth-child(2):last-child) td:first-child{width:68%}
  .t-scroll table:has(thead th:nth-child(2):last-child) th:last-child,
  .t-scroll table:has(thead th:nth-child(2):last-child) td:last-child{width:32%;text-align:right;white-space:nowrap}
  th,td{padding-left:14px;padding-right:14px}
  th.mdl,td.mdl{min-width:210px}
  td.mdl em{white-space:normal;line-height:1.5}
}
/* Hero title marker */
.site-hero h1::before{content:"";display:block;width:42px;height:5px;margin:0 0 18px;border-radius:999px;background:var(--orange)}
.site-hero h1 span:last-child{width:fit-content;padding-right:.08em;background:linear-gradient(transparent 78%,rgba(216,93,49,.72) 78%,rgba(216,93,49,.72) 90%,transparent 90%)}
@media(max-width:760px){.site-hero h1::before{width:34px;height:4px;margin-bottom:14px}.site-hero h1 span:last-child{background:linear-gradient(transparent 80%,rgba(216,93,49,.78) 80%,rgba(216,93,49,.78) 92%,transparent 92%)}}
/* Compact product summary: image through auction data */
.detail-page .tag{padding-top:24px;padding-bottom:24px}
.detail-page .shot{margin-top:0;margin-bottom:0}
.detail-page header{padding:34px 0 26px}
.detail-page header .what{margin-top:12px;margin-bottom:14px}
.detail-page header .sub{padding-bottom:0}
.detail-page .hero{margin-top:0;padding-top:28px;padding-bottom:28px}
.detail-page .range{margin-top:14px;padding-top:24px;padding-bottom:30px}
.detail-page .range+.keys-note{margin-top:12px}
.detail-page .item{margin-top:24px}
@media(max-width:760px){
  .detail-page .tag{padding-top:18px;padding-bottom:18px}
  .detail-page .shot{min-height:210px}
  .detail-page header{padding:26px 0 20px}
  .detail-page header h1{margin-bottom:10px}
  .detail-page header .what{margin:8px 0 12px}
  .detail-page .hero{gap:20px;padding-top:24px;padding-bottom:24px}
  .detail-page .range{margin-top:10px;padding-top:20px;padding-bottom:28px}
  .detail-page .range+.keys-note{margin-top:10px;line-height:1.7}
  .detail-page .item{margin-top:20px}
}
/* Context label is informational, not a button */
.tag{width:auto;margin-top:18px;padding:18px 0 20px;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;color:#737b74}
@media(max-width:760px){.tag{margin-top:10px;padding:14px 0 16px}}
.detail-page .tag{padding-top:18px;padding-bottom:18px}
@media(max-width:760px){.detail-page .tag{padding-top:14px;padding-bottom:14px}}
/* Final top-label and hero-marker cleanup */
.site-hero h1::before{display:none}
.tag{width:auto!important;padding:18px 0 20px!important;border:0!important;border-radius:0!important;background:none!important;backdrop-filter:none!important;box-shadow:none!important}
@media(max-width:760px){.tag{padding:14px 0 16px!important}}
/* Table links and inner spacing */
td.mdl a{width:fit-content;margin-bottom:7px;border-bottom:0!important;text-decoration:none!important;font-weight:500}
td.mdl em{margin-top:0}
@media(max-width:760px){
  .t-scroll thead th{padding:14px 18px!important}
  .t-scroll tbody td{padding:19px 18px!important}
  .t-scroll tbody tr:first-child td{padding-top:21px!important}
  .t-scroll tbody tr:last-child td{padding-bottom:21px!important}
  .t-scroll table:has(thead th:nth-child(2):last-child) th:first-child,
  .t-scroll table:has(thead th:nth-child(2):last-child) td:first-child{padding-left:18px!important}
  .t-scroll table:has(thead th:nth-child(2):last-child) th:last-child,
  .t-scroll table:has(thead th:nth-child(2):last-child) td:last-child{padding-right:18px!important}
}
/* Keep the light editorial palette when Android battery saver changes color preference */
:root,:root:not([data-theme="light"]),:root[data-theme="dark"]{color-scheme:light!important;--bg:#f7f5ef!important;--surface:#faf9f5!important;--surface-alt:#eef1eb!important;--ink:#172019!important;--ink-soft:#555e56!important;--ink-faint:#747c75!important;--rule:#cfd5ce!important;--rule-soft:#e0e4de!important;--accent:#d85d31!important}
body,p,.lead,.note,.body{color:#555e56}
td.mdl a{color:#172019!important}td.mdl em,th{color:#747c75!important}