/* offlease.tech: the "asset tag" board. Tokens (SPEC §2) on :root; dark mode under prefers-color-scheme and [data-theme]. */
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;font-display:optional;src:url(/assets/fonts/space-grotesk-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:optional;src:url(/assets/fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:optional;src:url(/assets/fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:optional;src:url(/assets/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}
:root{--bg:#eef1f4;--card:#ffffff;--ink:#16202b;--ink-2:#4a5866;--accent:#0a5c8a;--accent-ink:#ffffff;--signal:#b3470b;--tag:#16202b;--tag-ink:#ffffff;
  --line:#77838f;--rule:#dde2e8;--err:#b42318;--ok-bg:#e6f1f8;--warn-bg:#fdf0e6;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--head:"Space Grotesk","Source Sans 3",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f141a;--card:#171e26;--ink:#e6ebf0;--ink-2:#a3afbc;--accent:#6cc3f5;--accent-ink:#0b1720;--signal:#ff8a4c;
  --tag:#e6ebf0;--tag-ink:#0f141a;--line:#5d6a78;--rule:#26303b;--err:#ff9a8f;--ok-bg:#132a3a;--warn-bg:#33231a;color-scheme:dark}}
:root[data-theme=dark]{--bg:#0f141a;--card:#171e26;--ink:#e6ebf0;--ink-2:#a3afbc;--accent:#6cc3f5;--accent-ink:#0b1720;--signal:#ff8a4c;
  --tag:#e6ebf0;--tag-ink:#0f141a;--line:#5d6a78;--rule:#26303b;--err:#ff9a8f;--ok-bg:#132a3a;--warn-bg:#33231a;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--sans)}
img{max-width:100%;height:auto}
a{color:var(--accent);text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.18;margin:0 0 .5em;color:var(--ink);letter-spacing:-.01em}
h1{font-size:clamp(1.8rem,4.2vw,2.7rem)}h2{font-size:clamp(1.3rem,2.6vw,1.7rem)}h3{font-size:1.14rem}
p{margin:0 0 1em}
.wrap{max-width:1160px;margin:0 auto;padding:0 16px}
.muted{color:var(--ink-2)}
.mono{font-family:var(--mono);font-size:.82rem;letter-spacing:.02em}
.skip{position:absolute;left:8px;top:-60px;background:var(--card);color:var(--ink);padding:10px 14px;z-index:10;border:2px solid var(--accent)}
.skip:focus{top:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.pv{position:absolute;width:1px;height:1px;left:0;bottom:0}
main{display:block;padding-bottom:48px}
main:focus{outline:none}
/* header */
.site-head{background:var(--card);border-bottom:1px solid var(--rule);box-shadow:inset 0 4px 0 var(--signal)}
.head-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;min-height:72px;padding-top:10px;padding-bottom:8px}
.wordmark{font:600 1.45rem/1 var(--head);color:var(--ink);text-decoration:none;letter-spacing:-.02em;display:inline-flex;align-items:center;min-height:44px}
.wordmark span{color:var(--signal)}
.wordmark-sm{font-size:1.2rem;min-height:0;margin-bottom:.4em}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.98rem}
.nav a:hover{text-decoration:underline}
.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.nav a.btn{color:var(--accent-ink);padding:0 16px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:2px solid var(--accent);border-radius:4px;background:var(--accent);color:var(--accent-ink);font:600 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn-sm{font-size:.95rem}
.btn-ghost{background:transparent;color:var(--accent)}
.btn-ghost:hover{background:var(--ok-bg)}
.btn-danger{background:var(--err);border-color:var(--err);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-danger{color:#1a0503}}
:root[data-theme=dark] .btn-danger{color:#1a0503}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:1.2em 0}
.inline-form{display:inline}
/* hero */
.hero{padding:40px 0 30px;border-bottom:1px solid var(--rule)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:500 .8rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--tag);color:var(--tag-ink);padding:7px 10px 7px 8px;border-left:6px solid var(--signal);margin-bottom:14px}
.lede{font-size:1.18rem;color:var(--ink-2);max-width:46em}
.search{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:10px;align-items:end;background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:16px;margin:20px 0 6px;max-width:880px}
.search label{display:block;font-weight:600;font-size:.92rem;margin-bottom:4px}
@media (max-width:720px){.search{grid-template-columns:1fr}}
.counts{display:flex;flex-wrap:wrap;gap:8px 24px;margin:14px 0 0;padding:0;list-style:none}
.counts li{font-family:var(--mono);font-size:.86rem;color:var(--ink-2)}
.counts strong{font-family:var(--sans);color:var(--ink);font-size:1.05rem}
.steps3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:8px 0 0;padding:0;list-style:none;counter-reset:s}
.steps3 li{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:16px 16px 12px;counter-increment:s;position:relative}
.steps3 li::before{content:"0" counter(s);font:500 .8rem/1 var(--mono);color:var(--signal);display:block;margin-bottom:8px;letter-spacing:.08em}
.steps3 h3{margin:0 0 6px}
.steps3 p{margin:0;color:var(--ink-2)}
/* sections */
.section{padding:32px 0 8px}
.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:18px}
.section-head h2{margin:0}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.cat-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px 14px;background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--tag);border-radius:4px;text-decoration:none;color:var(--ink)}
.cat-grid a:hover span:first-child{text-decoration:underline}
.cat-grid .n{font:500 .8rem/1 var(--mono);color:var(--ink-2);white-space:nowrap}
.cat-grid .code{font:500 .74rem/1 var(--mono);color:var(--ink-2);margin-right:8px}
/* listing cards: the asset tag */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin:8px 0 24px;padding:0;list-style:none;align-items:start}
.card{position:relative;background:var(--card);border:1px solid var(--rule);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.card .tagstrip{display:flex;justify-content:space-between;gap:8px;background:var(--tag);color:var(--tag-ink);font:500 .76rem/1 var(--mono);letter-spacing:.06em;padding:8px 10px 8px 8px;border-left:6px solid var(--signal)}
.card .thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--rule);background:var(--rule)}
.card .body{padding:14px 16px 14px}
.card h3{margin:0 0 6px;font-size:1.1rem}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card h3 a:hover{text-decoration:underline}
.card .price{font:600 1.2rem/1.2 var(--head);margin:0 0 4px}
.card .price small{font:400 .9rem var(--sans);color:var(--ink-2)}
.card .meta{color:var(--ink-2);font-size:.93rem;margin:0}
.badge{display:inline-flex;align-items:center;gap:6px;font:600 .84rem/1.3 var(--sans);color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:2px 8px;background:var(--ok-bg);position:relative;z-index:1}
.badge svg{width:14px;height:14px;flex:none}
.pill{display:inline-block;font:500 .74rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);border-radius:3px;padding:2px 7px;color:var(--ink-2)}
.pill-live{border-color:var(--accent);color:var(--accent)}
.pill-warn{border-color:var(--signal);color:var(--signal)}
/* filters */
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end;background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:14px;margin:12px 0 18px}
.filters label{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}
/* listing page */
.crumbs{font-size:.9rem;margin:18px 0 6px;color:var(--ink-2)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.crumbs li+li::before{content:"/";margin:0 6px 0 2px;color:var(--ink-2)}
.crumbs a{display:inline-block;padding:10px 0}
.crumbs li>span{display:inline-block;padding:10px 0}
.entry{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:28px;margin-top:10px}
@media (max-width:880px){.entry{grid-template-columns:1fr}}
.entry-card{background:var(--card);border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.entry-card .tagstrip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;background:var(--tag);color:var(--tag-ink);font:500 .8rem/1 var(--mono);letter-spacing:.06em;padding:10px 12px 10px 10px;border-left:8px solid var(--signal)}
.entry-card .inner{padding:22px}
.bigprice{font:600 2rem/1.1 var(--head);margin:4px 0 4px}
.bigprice small{font:400 1rem var(--sans);color:var(--ink-2)}
.facts{margin:16px 0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.facts li{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--rule)}
.facts .k{font:500 .78rem/1.9 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
@media (max-width:420px){.facts li{grid-template-columns:1fr;gap:2px}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:18px 0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule);border-radius:4px}
.gallery a{display:block}
.specs{white-space:pre-line;font-family:var(--mono);font-size:.88rem;background:var(--bg);border:1px solid var(--rule);border-radius:4px;padding:12px 14px;overflow-wrap:anywhere}
.side-box{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:18px;margin-bottom:16px}
.side-box h2{font-size:1.12rem}
.attest{list-style:none;margin:0;padding:0}
.attest li{position:relative;padding:6px 0 6px 26px;border-bottom:1px solid var(--rule);font-size:.95rem}
.attest li::before{content:"";position:absolute;left:4px;top:13px;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.note{background:var(--warn-bg);border-left:4px solid var(--signal);padding:12px 14px;border-radius:0 6px 6px 0;margin:16px 0}
.okbox{background:var(--ok-bg);border-left:4px solid var(--accent);padding:12px 14px;border-radius:0 6px 6px 0;margin:16px 0}
.errbox{border-left:4px solid var(--err);background:var(--card);padding:12px 14px;margin:16px 0}
.venue{border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:.95rem;background:var(--card)}
/* forms */
.form{max-width:760px}
fieldset{border:1px solid var(--rule);border-radius:6px;padding:16px 18px 6px;margin:0 0 20px;background:var(--card);min-width:0}
legend{font:600 1.05rem var(--head);padding:0 6px}
.field{margin:0 0 16px}
.field label,.label{display:block;font-weight:600;margin-bottom:4px}
.hint{display:block;color:var(--ink-2);font-size:.92rem;margin:0 0 6px}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}
input[type=text],input[type=email],input[type=url],input[type=tel],input[type=search],input[type=password],input[type=number],select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink);font:inherit}
textarea{min-height:120px;resize:vertical}
input[type=file]{font:inherit;min-height:44px;padding:8px 0;width:100%}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid var(--err)}
.err{display:block;color:var(--err);font-weight:600;font-size:.93rem;margin-top:4px}
.check{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px}
.check input{width:24px;height:24px;margin:2px 0 0;flex:none;accent-color:var(--accent)}
.check label{font-weight:400;margin:0}
.radio-list{list-style:none;margin:0;padding:0}
.radio-list li{margin:0 0 8px}
input,select,textarea{max-width:100%;min-width:0}
/* tables, tiles */
.table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:6px;background:var(--card)}
.table-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
table.data{border-collapse:collapse;width:100%;font-size:.95rem}
table.data th,table.data td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
table.data th{font:500 .78rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:16px 0 24px}
.tile{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:14px}
.tile .v{font:600 1.6rem/1.1 var(--head)}
.tile .k{font:500 .76rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
/* pricing */
.feebox{background:var(--card);border:1px solid var(--rule);border-left:8px solid var(--signal);border-radius:6px;padding:20px 22px;margin:14px 0 22px;max-width:760px}
.feebox .rule{font:600 1.35rem/1.3 var(--head);margin:0 0 6px}
.calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end;max-width:760px}
.result{font:600 1.15rem/1.4 var(--head)}
.prose{max-width:46em}
.prose h2{margin-top:1.5em}
.prose h3{margin-top:1.2em}
.prose li{margin-bottom:.4em}
details.faq{border-bottom:1px solid var(--rule);padding:6px 0}
details.faq summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.draft{font:500 .85rem var(--mono);background:var(--warn-bg);padding:8px 12px;border-radius:4px;display:inline-block;border-left:4px solid var(--signal)}
.cta-band{background:var(--card);border:1px solid var(--rule);border-left:8px solid var(--signal);border-radius:6px;padding:22px;margin:30px 0 10px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center}
.cta-band p{margin:0;max-width:40em}
.pager{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.empty{background:var(--card);border:1px dashed var(--line);border-radius:6px;padding:22px;margin:18px 0}
/* seller area */
.subnav{display:flex;flex-wrap:wrap;gap:4px 10px;margin:14px 0 18px;padding:0;list-style:none;border-bottom:1px solid var(--rule)}
.subnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-weight:600;text-decoration:none}
.subnav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.photo-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.photo-list li{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:8px}
.photo-list img{width:100%;aspect-ratio:4/3;object-fit:cover}
.preview{margin-top:10px;max-width:240px}
.codebox{font:500 .9rem/1.5 var(--mono);background:var(--bg);border:1px solid var(--rule);border-radius:4px;padding:10px 12px;overflow-wrap:anywhere}
/* footer */
.site-foot{border-top:1px solid var(--rule);background:var(--card);padding:28px 0 36px;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:20px 40px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.foot-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 18px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px}
.operator{grid-column:1/-1;margin:0}
.mono,.facts a,.prose a,.codebox{overflow-wrap:anywhere}
@media print{.site-head,.site-foot,.pv{display:none}}
main>.wrap{padding-top:22px}
main>.wrap>.crumbs:first-child{margin-top:-8px}
/* ---------- v1.1.0: AdEngine banner (adengine.us) ----------
   One labelled slot between the main content and the footer, on the public content pages only (controllers opt in with meta 'ads').
   The label, the reserved height and the gap above the footer all sit on the <ins>, so when tag.js (or ae-size.js) hides a slot it
   cannot fill, they go with it. 110px = 16px label + 4px gap + 90px banner; 270px on phones (300x250). <main> already ends with 48px
   of padding, so the slot adds 48px below only. The label is the site's own tag voice (mono, uppercase) in --ink-2: 6.4:1 on --bg
   light, 8.3:1 dark. display stays in this file and is never !important: tag.js hides a slot with style.display='none'. */
.ae-slot{padding:0 16px}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:0 auto 48px;text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:500 11px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
@media (max-width:767px){.ae-slot ins.adengine{max-width:300px;min-height:270px}}
@media print{.ae-slot{display:none}}
