/*
 * Theme "kwekerij" · peruviantorchtrip.com
 * 1. Concept: a cactus nursery bench. Products stand on the bench as large plant tags on stakes,
 *    with a grower's price list and a care calendar; every article is a care sheet on a hanging tag.
 * 2. Type: Saira Condensed (tags, prices, labels, headings; 600/700) + Bitter (slab serif for reading; 400-600, italic 400).
 * 3. Palette: bench #eef0e8, tag white #fffefa, ink #17231f, torch blue-green #3d6a6c, price-sticker pink #b8235a, grit #cfd3c6.
 * 4. Layout signature: home = hero bench photo, then a row of tall plant tags (punched hole, care pictograms
 *    for light, water and cold drawn in CSS, price sticker, buy button, stake pushed into a grit strip),
 *    then a 12-month care calendar; articles = hanging tag header + pictogram strip + sheet index column.
 * 5. Finishing detail: the grower's price list with dotted leaders ("No. 03 .......... Read") closes every page.
 */
@font-face{font-family:'Bitter';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/bitter-italic-400.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bitter';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/bitter-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Bitter';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/bitter-normal-400-600.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bitter';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/bitter-normal-400-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/saira-condensed-normal-600.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/saira-condensed-normal-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/saira-condensed-normal-700.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/saira-condensed-normal-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root {
  --bench: #eef0e8;
  --board: #e3e7dc;
  --tag: #fffefa;
  --ink: #17231f;
  --mute: #4b5853;
  --glauc: #3d6a6c;
  --glauc-d: #2c5053;
  --tint: #d6e2df;
  --price: #b8235a;
  --grit: #cfd3c6;
  --soil: #8c7a63;
  --cond: 'Saira Condensed', 'Arial Narrow', sans-serif;
  --slab: 'Bitter', Georgia, serif;
  --wrap: 76rem;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bench); color: var(--ink); font: 400 1.0625rem/1.65 var(--slab); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--glauc-d); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--price); }
:focus-visible { outline: 3px solid var(--price); outline-offset: 2px; }
.skip { position: absolute; left: -999px; top: 0; background: var(--ink); color: var(--tag); padding: .5rem 1rem; z-index: 10; }
.skip:focus { left: 1rem; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
h1, h2, h3 { font-family: var(--cond); font-weight: 700; line-height: 1.05; letter-spacing: .005em; margin: 0; }
.kicker { font: 600 .82rem/1.2 var(--cond); letter-spacing: .14em; text-transform: uppercase; color: var(--glauc); margin: 0 0 .7rem; }

/* --- header: nursery sign --- */
.sign { background: var(--tag); border-bottom: 3px solid var(--ink); }
.sign-in { max-width: var(--wrap); margin: 0 auto; padding: .6rem 1rem; display: flex; align-items: center; gap: 1rem; }
.brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--ink); margin-right: auto; }
.brand img { width: 34px; height: auto; }
.brand span { font: 700 1.35rem/1 var(--cond); text-transform: uppercase; letter-spacing: .03em; }
.brand small { display: block; font: italic 400 .78rem/1.3 var(--slab); text-transform: none; letter-spacing: 0; color: var(--mute); margin-top: .15rem; }
.tabs { display: none; }
.menu summary { list-style: none; cursor: pointer; font: 700 .95rem/1 var(--cond); text-transform: uppercase; letter-spacing: .1em; padding: .65rem .9rem; border: 2px solid var(--ink); background: var(--tag); }
.menu summary::-webkit-details-marker { display: none; }
.menu[open] summary { background: var(--ink); color: var(--tag); }
.menu nav { position: absolute; left: 0; right: 0; margin-top: .65rem; background: var(--tag); border-bottom: 3px solid var(--ink); z-index: 5; }
.menu ol { list-style: none; margin: 0; padding: .4rem 1rem 1rem; }
.menu li a { display: flex; gap: .8rem; padding: .7rem 0; border-bottom: 1px dotted var(--grit); text-decoration: none; color: var(--ink); font: 600 1.15rem/1.2 var(--cond); text-transform: uppercase; letter-spacing: .03em; }
.menu li a[aria-current] { color: var(--price); }
.menu .no { color: var(--glauc); min-width: 1.6rem; }
.langs a { font: 700 .9rem var(--cond); margin-left: .4rem; }

/* --- home: yard (title + bench photo) --- */
.yard { max-width: var(--wrap); margin: 0 auto; padding: 1.6rem 1rem 0; display: grid; gap: 1.4rem; }
.yard h1 { font-size: clamp(2.6rem, 9vw, 5.2rem); text-transform: uppercase; letter-spacing: -.005em; }
.yard .lead { font-size: 1.15rem; max-width: 36rem; margin: 1rem 0 0; color: var(--mute); }
.yard-img { margin: 0; border: 3px solid var(--ink); background: var(--board); }
.yard-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

/* --- home: the bench of tags --- */
.bench { margin-top: 2.6rem; background: var(--board); border-top: 3px solid var(--ink); border-bottom: 3.2rem solid var(--grit); box-shadow: inset 0 -3px 0 var(--soil); }
.bench-head { max-width: var(--wrap); margin: 0 auto; padding: 1.8rem 1rem 0; display: grid; gap: .5rem; }
.bench-head h2 { font-size: clamp(1.8rem, 5vw, 2.6rem); text-transform: uppercase; }
.bench-head p { margin: 0; max-width: 44rem; color: var(--mute); }
.tags { list-style: none; margin: 0 auto; padding: 1.8rem 1rem 0; max-width: var(--wrap); display: grid; gap: 2.2rem 1.2rem; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); align-items: stretch; position: relative; }
.tag { position: relative; z-index: 1; background: var(--tag); border: 2px solid var(--ink); border-radius: 1.2rem 1.2rem .3rem .3rem; padding: 1.4rem 1.1rem 1.1rem; display: flex; flex-direction: column; margin-bottom: 2.4rem; }
.tag .stake { position: absolute; left: 50%; bottom: -3.85rem; width: 2.2rem; height: 3.8rem; transform: translateX(-50%); background: var(--ink); clip-path: polygon(0 0, 100% 0, 50% 100%); }
.tag .stake::after { content: ""; position: absolute; inset: 0 2px 4px; background: var(--tag); clip-path: polygon(0 0, 100% 0, 50% 100%); }
.hole { display: block; width: .9rem; height: .9rem; border-radius: 50%; border: 2px solid var(--ink); background: var(--board); }
.tag .hole { position: absolute; top: .55rem; left: 50%; transform: translateX(-50%); }
.tag-top { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; padding-top: .4rem; border-bottom: 2px solid var(--ink); padding-bottom: .4rem; }
.tag-kind { font: 700 1.05rem/1 var(--cond); text-transform: uppercase; letter-spacing: .12em; color: var(--glauc); }
.tag-size { font: 600 .95rem/1 var(--cond); text-transform: uppercase; letter-spacing: .05em; }
.tag-img { display: block; margin: .9rem 0 .6rem; background: #fff; }
.tag-img img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.tag-grade { margin: 0; font: 700 .8rem/1.2 var(--cond); text-transform: uppercase; letter-spacing: .12em; color: var(--price); }
.tag-name { font-size: 1.35rem; margin: .25rem 0 .4rem; text-transform: none; }
.tag-line { font-size: .93rem; line-height: 1.5; margin: 0 0 .9rem; color: var(--mute); }
.tag-pick { border-width: 3px; }
.tag-pick .tag-top { border-bottom-width: 3px; }
.tag-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding-top: .9rem; border-top: 1px dotted var(--ink); }

/* care pictograms, drawn in CSS */
.pictos { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.picto { display: grid; grid-template-columns: 1.5rem 1fr auto; align-items: center; gap: .55rem; font-size: .86rem; line-height: 1.3; }
.picto b { font: 700 .8rem var(--cond); text-transform: uppercase; letter-spacing: .1em; margin-right: .2rem; }
.glyph { position: relative; width: 1.5rem; height: 1.5rem; display: block; }
.picto-sun .glyph::before { content: ""; position: absolute; inset: .38rem; border-radius: 50%; background: var(--ink); outline: 2px dashed var(--ink); outline-offset: .14rem; }
.picto-water .glyph::before { content: ""; position: absolute; left: .32rem; top: .3rem; width: .86rem; height: .86rem; background: var(--glauc); border-radius: 0 50% 50% 50%; transform: rotate(45deg); }
.picto-frost .glyph::before, .picto-frost .glyph::after, .picto-frost .glyph { --bar: var(--ink); }
.picto-frost .glyph::before, .picto-frost .glyph::after { content: ""; position: absolute; left: 50%; top: .12rem; bottom: .12rem; width: 2px; margin-left: -1px; background: var(--bar); }
.picto-frost .glyph::before { transform: rotate(60deg); }
.picto-frost .glyph::after { transform: rotate(-60deg); }
.picto-frost .glyph { background: linear-gradient(var(--ink), var(--ink)) center / 2px 100% no-repeat; }
.dots { display: flex; gap: 3px; }
.dots i { width: .5rem; height: .5rem; border-radius: 50%; border: 1.5px solid var(--ink); }
.dots i.on { background: var(--ink); }

/* price sticker + buttons */
.price { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; background: var(--price); color: #fff; font: 700 1.3rem/1 var(--cond); padding: .45rem .7rem .35rem; border-radius: .4rem; transform: rotate(-3deg); }
.price small { font: 600 .62rem/1.2 var(--cond); letter-spacing: .1em; text-transform: uppercase; }
.buy { display: inline-block; background: var(--ink); color: var(--tag); text-decoration: none; font: 700 .95rem/1 var(--cond); text-transform: uppercase; letter-spacing: .08em; padding: .8rem 1rem; border-radius: .3rem; text-align: center; }
.buy:hover { background: var(--glauc-d); color: #fff; }

/* --- home: care calendar --- */
.calendar { max-width: var(--wrap); margin: 0 auto; padding: 2.6rem 1rem 0; }
.cal-head h2 { font-size: clamp(1.7rem, 4.5vw, 2.4rem); text-transform: uppercase; }
.cal-head p { margin: .5rem 0 1.2rem; color: var(--mute); max-width: 44rem; }
.cal-scroll { overflow-x: auto; background: var(--tag); border: 2px solid var(--ink); }
.cal { border-collapse: collapse; width: 100%; min-width: 40rem; }
.cal th, .cal td { border: 1px solid var(--grit); }
.cal thead th { font: 700 .9rem/1 var(--cond); padding: .55rem 0; text-align: center; background: var(--ink); color: var(--tag); border-color: var(--ink); }
.cal thead th:first-child { text-align: left; padding-left: .8rem; }
.cal abbr { text-decoration: none; }
.cal tbody th { text-align: left; font: 700 1rem/1.15 var(--cond); text-transform: uppercase; letter-spacing: .04em; padding: .55rem .8rem; width: 13rem; }
.cal tbody th small { display: block; font: italic 400 .78rem/1.3 var(--slab); text-transform: none; letter-spacing: 0; color: var(--mute); }
.cal td { height: 2.6rem; }
.cal td.c2 { background: var(--glauc); }
.cal td.c1 { background: var(--tint); }
.cal-key { font: 600 .85rem var(--cond); text-transform: uppercase; letter-spacing: .08em; color: var(--mute); display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.cal-key span { width: 1.1rem; height: .8rem; display: inline-block; border: 1px solid var(--ink); }
.cal-key .k2 { background: var(--glauc); }
.cal-key .k1 { background: var(--tint); margin-left: .8rem; }

/* --- care sheet --- */
.sheet { max-width: var(--wrap); margin: 0 auto; padding: 1.6rem 1rem 0; }
.sheet-home { padding-top: 2.6rem; }
.sheet-home .sheet-body { background: var(--tag); border: 2px solid var(--ink); padding: 1.4rem 1.1rem; max-width: 50rem; }
.hang { position: relative; background: var(--tag); border: 2px solid var(--ink); border-radius: .3rem; padding: 1.6rem 1.2rem 1.3rem 1.2rem; margin-top: .6rem; }
.hang .hole { position: absolute; top: .7rem; right: .9rem; }
.hang h1 { font-size: clamp(2.1rem, 7vw, 3.8rem); text-transform: uppercase; max-width: 22ch; }
.hang .lead { font-size: 1.1rem; color: var(--mute); max-width: 44rem; margin: .9rem 0 0; }
.stamp { margin: 1rem 0 0; font: 600 .85rem var(--cond); text-transform: uppercase; letter-spacing: .1em; color: var(--glauc); }
.strip { margin-top: -2px; background: var(--ink); color: var(--tag); padding: .8rem 1.2rem; border-radius: 0 0 .3rem .3rem; grid-template-columns: 1fr; }
.strip .glyph::before { background: var(--tag) !important; outline-color: var(--tag) !important; }
.strip .picto-water .glyph::before { background: #9cc3c0 !important; }
.strip .picto-frost .glyph { --bar: var(--tag); background: linear-gradient(var(--tag), var(--tag)) center / 2px 100% no-repeat; }
.strip .dots i { border-color: var(--tag); }
.strip .dots i.on { background: var(--tag); }
.sheet-grid { display: grid; gap: 1.6rem; margin-top: 1.8rem; }
.sheet-toc { border-top: 3px solid var(--ink); padding-top: .7rem; }
.sheet-toc p { margin: 0 0 .4rem; font: 700 .85rem var(--cond); text-transform: uppercase; letter-spacing: .12em; color: var(--glauc); }
.sheet-toc ol { margin: 0; padding-left: 1.3rem; font-size: .92rem; line-height: 1.45; }
.sheet-toc li { margin: .3rem 0; }
.sheet-toc a { color: var(--ink); text-decoration: none; }
.sheet-toc a:hover { text-decoration: underline; color: var(--price); }

/* prose */
.prose { min-width: 0; }
.prose > * { max-width: 42rem; }
.prose p, .prose ul, .prose ol { margin: 0 0 1.05rem; }
.prose li { margin: .3rem 0; }
.prose h2 { font-size: clamp(1.55rem, 4vw, 2.05rem); text-transform: uppercase; margin: 2.4rem 0 .8rem; padding-top: .7rem; border-top: 3px solid var(--ink); }
.prose > h2:first-child { margin-top: 0; }
.prose h3 { font-size: 1.3rem; margin: 1.6rem 0 .5rem; color: var(--glauc-d); }
.prose strong { font-weight: 600; }
.prose blockquote { margin: 1.4rem 0; padding: .9rem 1.1rem; background: var(--tag); border: 2px dashed var(--glauc); }
.prose blockquote p:last-child { margin-bottom: 0; }
.prose hr { border: 0; border-top: 1px dotted var(--ink); margin: 2rem 0; }
.prose figure { margin: 1.4rem 0; }
.prose .table { max-width: 100%; overflow-x: auto; margin: 1.2rem 0 1.4rem; background: var(--tag); border: 2px solid var(--ink); }
.prose table { border-collapse: collapse; width: 100%; font-size: .93rem; line-height: 1.45; }
.prose th { font: 700 .88rem/1.2 var(--cond); text-transform: uppercase; letter-spacing: .06em; text-align: left; background: var(--ink); color: var(--tag); padding: .55rem .7rem; }
.prose td { padding: .55rem .7rem; border-top: 1px solid var(--grit); vertical-align: top; }
.prose tr:nth-child(even) td { background: #f6f7f2; }

/* product tags inside articles */
.products { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); margin: 1.4rem 0 1.8rem; max-width: 46rem; }
.product-feature { margin: 1.4rem 0 1.8rem; max-width: 42rem; }
.ptag { position: relative; background: var(--tag); border: 2px solid var(--ink); border-radius: 1rem 1rem .3rem .3rem; padding: 1.5rem .9rem .9rem; display: flex; flex-direction: column; gap: .6rem; }
.ptag .hole { position: absolute; top: .5rem; left: 50%; transform: translateX(-50%); }
.ptag-img { display: block; background: #fff; }
.ptag-img img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.ptag-txt { display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.ptag-name { margin: 0; font: 700 1.1rem/1.15 var(--cond); }
.ptag-meta { margin: 0 0 auto; display: flex; align-items: center; gap: .6rem; }
.ptag .price { font-size: 1.1rem; }
.ptag-shop { font: 600 .8rem var(--cond); text-transform: uppercase; letter-spacing: .08em; color: var(--mute); }
.ptag-wide { border-radius: .3rem 1rem 1rem .3rem; }

/* price list of pages */
.pricelist { max-width: var(--wrap); margin: 3rem auto 0; padding: 0 1rem; }
.pricelist h2 { font-size: 1.6rem; text-transform: uppercase; border-bottom: 3px solid var(--ink); padding-bottom: .5rem; }
.pricelist ol { list-style: none; margin: 0; padding: 0; }
.pricelist a { display: flex; align-items: baseline; gap: .7rem; padding: .8rem 0; border-bottom: 1px solid var(--grit); text-decoration: none; color: var(--ink); }
.pricelist .no { font: 600 .9rem var(--cond); color: var(--glauc); letter-spacing: .06em; min-width: 3.4rem; }
.pricelist .lbl { font: 700 1.25rem/1.15 var(--cond); text-transform: uppercase; }
.pricelist .lead-dots { flex: 1; border-bottom: 2px dotted var(--ink); transform: translateY(-.3rem); min-width: 1rem; }
.pricelist .go { font: 700 .85rem var(--cond); text-transform: uppercase; letter-spacing: .1em; color: var(--price); }
.pricelist a:hover .lbl { color: var(--price); }
.pricelist .here .go { color: var(--mute); }

/* footer */
.foot { margin-top: 3.5rem; background: var(--ink); color: #dfe4dc; }
.foot-in { max-width: var(--wrap); margin: 0 auto; padding: 2rem 1rem 2.4rem; display: grid; gap: 1.1rem; font-size: .93rem; }
.foot a { color: #fff; }
.foot-pub { display: flex; gap: 1rem; align-items: center; }
.foot-pub img { width: 84px; height: 84px; background: var(--tag); border-radius: 50%; padding: .35rem; flex: none; }
.foot-pub p, .foot-disc, .foot-meta { margin: 0; max-width: 46rem; }
.foot-meta { font: 600 .85rem var(--cond); text-transform: uppercase; letter-spacing: .1em; }

@media (min-width: 46rem) {
  .yard { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: end; padding-top: 2.4rem; }
  .yard-text { padding-bottom: .4rem; }
  .strip { grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
  .sheet-home .sheet-body { padding: 2rem 2.2rem; }
  .hang { padding: 2rem 2.4rem 1.7rem 3.6rem; clip-path: polygon(1.6rem 0, 100% 0, 100% 100%, 1.6rem 100%, 0 50%); border-left: 0; }
  .hang .hole { right: auto; left: 1.6rem; top: 50%; transform: translateY(-50%); }
}
@media (min-width: 64rem) {
  .menu { display: none; }
  .tabs { display: flex; flex-wrap: wrap; gap: .25rem; }
  .tabs a { font: 700 .92rem/1 var(--cond); text-transform: uppercase; letter-spacing: .07em; text-decoration: none; color: var(--ink); padding: .55rem .7rem; border: 2px solid transparent; border-radius: .9rem .9rem .2rem .2rem; }
  .tabs a:hover { border-color: var(--ink); color: var(--ink); }
  .tabs a[aria-current] { background: var(--ink); color: var(--tag); }
  .sheet-grid { grid-template-columns: 14rem minmax(0, 1fr); gap: 3rem; }
  .sheet-toc { position: sticky; top: 1rem; align-self: start; }
  .foot-in { grid-template-columns: 1.2fr 1fr; align-items: start; column-gap: 3rem; }
  .foot-meta { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
@media print { .sign, .bench, .pricelist, .foot { display: none; } body { background: #fff; } }

/* refinements */
.price { white-space: nowrap; flex: none; }
.tag-foot { flex-wrap: wrap; }
.tag-foot .buy { flex: 1; }
.cal { table-layout: fixed; }
.cal thead th:first-child, .cal tbody th { width: 13rem; }
.ptag-wide { flex-direction: row; align-items: center; gap: 1.2rem; padding: 1.1rem 1.2rem 1.1rem 2.6rem; }
.ptag-wide .hole { top: 50%; left: 1rem; transform: translateY(-50%); }
.ptag-wide .ptag-img { width: 42%; flex: none; }
.ptag-wide .ptag-name { font-size: 1.4rem; }
.buy { letter-spacing: .04em; white-space: nowrap; }
.sheet-home { display: grid; gap: 1.6rem; align-items: start; }
.passport { position: relative; background: var(--glauc); color: #fff; border: 2px solid var(--ink); border-radius: 1rem 1rem .3rem .3rem; padding: 2rem 1.2rem 1.2rem; }
.passport .hole { position: absolute; top: .6rem; left: 50%; transform: translateX(-50%); background: var(--bench); }
.passport-h { margin: 0 0 .6rem; font: 700 1.5rem/1 var(--cond); text-transform: uppercase; letter-spacing: .06em; border-bottom: 2px solid #fff; padding-bottom: .5rem; }
.passport dl { margin: 0; }
.passport dl div { padding: .45rem 0; border-bottom: 1px dotted rgba(255,255,255,.55); }
.passport dt { font: 700 .78rem/1.2 var(--cond); text-transform: uppercase; letter-spacing: .1em; color: #d6e8e5; }
.passport dd { margin: .1rem 0 0; font-size: .95rem; line-height: 1.4; }
.passport-src { margin: .8rem 0 0; font-size: .8rem; font-style: italic; color: #d6e8e5; }
@media (min-width: 64rem) { .sheet-home { grid-template-columns: minmax(0, 50rem) minmax(0, 1fr); gap: 2.4rem; } .passport { position: sticky; top: 1rem; } }
.cal-scroll { position: relative; }
.tag-img img { aspect-ratio: 4 / 3; }
@media (max-width: 45.99rem) {
  .ptag { flex-direction: row; align-items: center; gap: .9rem; padding: .9rem .9rem .9rem 2.2rem; border-radius: .3rem 1rem 1rem .3rem; }
  .ptag .hole { top: 50%; left: .75rem; transform: translateY(-50%); }
  .ptag-img { width: 38%; flex: none; }
  .ptag .buy { padding: .65rem .6rem; font-size: .85rem; }
}
@media (min-width: 64rem) { .sheet-grid.no-toc { grid-template-columns: minmax(0, 1fr); } }
