/*
 * matrix · magic-mushrooms.eu
 * 1. Concept: a legal-status workbook. The site is a data app: one sheet that compares 32 countries cell by cell,
 *    every cell a status chip with its own source and check date; the other pages are "sheets" in the same workbook.
 * 2. Type: SUSE (interface and reading text) + SUSE Mono (cell values, references, labels). Self-hosted, latin + latin-ext.
 * 3. Palette: chrome #e7eaf0, sheet #ffffff, ink #141820, gridline #d5dae3, selection indigo #3d5af1;
 *    status set legal #146c43, prohibited #b3261e, decriminalised #8a4b00, depends #5b3cc4, unverified #586174.
 * 4. Layout signature: sortable, filterable grid with sticky header row and sticky country column, column letters,
 *    slide-in country drawer, two-country compare; content sheets have a sticky inspector rail with "named ranges".
 * 5. Detail: the formula bar (fx + the page's one-line answer) under every title, and the selected-cell outline.
 */
@font-face{font-family: "SUSE";src: url("fonts/suse-latin.woff2") format("woff2");font-weight: 100 800;font-display: swap;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: "SUSE";src: url("fonts/suse-latin-ext.woff2") format("woff2");font-weight: 100 800;font-display: swap;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: "SUSE Mono";src: url("fonts/susemono-latin.woff2") format("woff2");font-weight: 100 800;font-display: swap;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: "SUSE Mono";src: url("fonts/susemono-latin-ext.woff2") format("woff2");font-weight: 100 800;font-display: swap;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;}

:root {
  --chrome: #e7eaf0;--sheet: #fff;--ink: #141820;--ink2: #485164;--grid: #d5dae3;--grid2: #eceff4;
  --sel: #3d5af1;--sel-ink: #2c43c7;--sel-tint: #e9edfe;
  --ok: #146c43;--ok-bg: #dcf3e6;--no: #b3261e;--no-bg: #fde7e4;--dec: #8a4b00;--dec-bg: #fdefd2;
  --dep: #5b3cc4;--dep-bg: #ece7fd;--unv: #586174;--unv-bg: #f1f3f6;
  --sans: "SUSE",ui-sans-serif,system-ui,sans-serif;--mono: "SUSE Mono",ui-monospace,Menlo,monospace;
  --r: 6px;--bar: 56px;
}
*,*::before,*::after{box-sizing: border-box;}
html{-webkit-text-size-adjust: 100%;scroll-padding-top: calc(var(--bar) + 16px);}
body{margin: 0;background: var(--chrome);color: var(--ink);font: 400 1rem/1.62 var(--sans);}
img{max-width: 100%;height: auto;display: block;}
a{color: var(--sel-ink);text-underline-offset: .18em;text-decoration-thickness: 1px;}
a:hover{text-decoration-thickness: 2px;}
:focus-visible{outline: 2px solid var(--sel);outline-offset: 2px;}
.mono{font-family: var(--mono);}
.skip{position: absolute;left: -999px;top: 8px;background: var(--ink);color: #fff;padding: 8px 12px;z-index: 99;}
.skip:focus{left: 8px;}
.sr{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;}

/* App bar + sheet tabs */
.bar{position: sticky;top: 0;z-index: 30;background: var(--sheet);border-bottom: 1px solid var(--grid);}
.bar-in{display: flex;align-items: center;gap: 14px;height: var(--bar);padding: 0 clamp(12px,3vw,28px);}
.brand{display: flex;align-items: center;gap: 10px;color: var(--ink);text-decoration: none;font-weight: 650;letter-spacing: -.01em;white-space: nowrap;}
.brand img{width: 30px;height: 30px;}
.brand small{font: 500 .72rem var(--mono);color: var(--ink2);border: 1px solid var(--grid);border-radius: 4px;padding: 1px 6px;}
.stamp{margin-left: auto;font: 500 .74rem var(--mono);color: var(--ink2);white-space: nowrap;}
.stamp b{color: var(--ok);font-weight: 600;}
.tabs{display: flex;gap: 2px;overflow-x: auto;scrollbar-width: none;padding: 0 clamp(12px,3vw,28px);background: var(--chrome);border-bottom: 1px solid var(--grid);}
.tabs::-webkit-scrollbar{display: none;}
.tabs a{flex: none;display: flex;align-items: center;gap: 8px;padding: 9px 14px 8px;margin-top: 6px;color: var(--ink2);text-decoration: none;font-size: .9rem;border: 1px solid transparent;border-bottom: 0;border-radius: var(--r) var(--r) 0 0;}
.tabs a span{font: 500 .7rem var(--mono);color: #7a8396;}
.tabs a:hover{color: var(--ink);background: rgba(255,255,255,.55);}
.tabs a[aria-current]{background: var(--sheet);color: var(--ink);border-color: var(--grid);position: relative;top: 1px;font-weight: 600;}
.tabs a[aria-current] span{color: var(--sel);}

/* Sheet head: title + formula bar */
.head{padding: clamp(22px,4vw,40px) clamp(14px,3vw,28px) 0;max-width: 1360px;margin: 0 auto;}
.crumb{font: 500 .76rem var(--mono);color: var(--ink2);margin: 0 0 10px;}
h1{font-size: clamp(1.75rem,1.1rem + 2.6vw,3rem);line-height: 1.08;letter-spacing: -.025em;font-weight: 700;margin: 0;max-width: 24ch;text-wrap: balance;}
.fx{display: flex;align-items: stretch;margin: 18px 0 0;background: var(--sheet);border: 1px solid var(--grid);border-radius: var(--r);max-width: 980px;}
.fx b{flex: none;display: grid;place-items: center;width: 46px;font: italic 600 .9rem var(--mono);color: var(--sel);border-right: 1px solid var(--grid);}
.fx p{margin: 0;padding: 10px 14px;font-size: .98rem;color: var(--ink);}
.kpis{display: grid;grid-template-columns: repeat(2,1fr);gap: 1px;background: var(--grid);border: 1px solid var(--grid);border-radius: var(--r);overflow: hidden;margin: 18px 0 0;max-width: 980px;}
.kpis div{background: var(--sheet);padding: 10px 14px;}
.kpis strong{display: block;font: 600 1.5rem/1.1 var(--mono);letter-spacing: -.02em;}
.kpis span{font-size: .8rem;color: var(--ink2);}
@media (min-width: 760px){.kpis{grid-template-columns: repeat(4,1fr);}}

/* Toolbar */
.tool{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 10px;margin: 22px 0 10px;}
.search{display: flex;align-items: center;gap: 8px;background: var(--sheet);border: 1px solid var(--grid);border-radius: var(--r);padding: 0 10px;height: 38px;flex: 1 1 220px;max-width: 320px;}
.search input{border: 0;outline: 0;font: inherit;font-size: .92rem;width: 100%;background: none;color: var(--ink);}
.search:focus-within{border-color: var(--sel);box-shadow: 0 0 0 3px var(--sel-tint);}
.search svg,.ico{width: 16px;height: 16px;flex: none;}
.chips{display: flex;flex-wrap: wrap;gap: 6px;align-items: center;}
.chips > span{font: 500 .72rem var(--mono);color: var(--ink2);margin-right: 2px;}
.fchip{font: 500 .78rem var(--mono);border: 1px solid var(--grid);background: var(--sheet);color: var(--ink2);border-radius: 999px;padding: 5px 11px;cursor: pointer;}
.fchip[aria-pressed="true"]{background: var(--ink);border-color: var(--ink);color: #fff;}
.btn{display: inline-flex;align-items: center;gap: 8px;font: 600 .88rem var(--sans);border-radius: var(--r);padding: 9px 14px;border: 1px solid var(--ink);background: var(--ink);color: #fff;text-decoration: none;cursor: pointer;}
.btn:hover{background: #2a3140;text-decoration: none;}
.btn-ghost{background: var(--sheet);color: var(--ink);border-color: var(--grid);}
.btn-ghost:hover{background: var(--grid2);}
.btn-sel{background: var(--sel);border-color: var(--sel);}
.btn-sel:hover{background: var(--sel-ink);}
.js-only{display: none !important;}
.js .js-only{display: revert !important;}
.js .tool.js-only{display: flex !important;}

/* Status chips */
.st{display: inline-flex;align-items: center;gap: 6px;font: 600 .74rem/1 var(--mono);letter-spacing: .01em;padding: 5px 8px 5px 7px;border-radius: 4px;white-space: nowrap;border: 1px solid transparent;}
.st::before{content: "";width: 7px;height: 7px;border-radius: 2px;background: currentColor;flex: none;}
.st-legal{color: var(--ok);background: var(--ok-bg);}
.st-illegal{color: var(--no);background: var(--no-bg);}
.st-decrim{color: var(--dec);background: var(--dec-bg);}
.st-depends{color: var(--dep);background: var(--dep-bg);}
.st-unverified{color: var(--unv);background: var(--unv-bg);border: 1px dashed #aab2c0;}
.st-unverified::before{background: none;border: 1.5px solid currentColor;width: 5px;height: 5px;}
.legend{display: flex;flex-wrap: wrap;gap: 8px 14px;align-items: center;font-size: .8rem;color: var(--ink2);margin: 0 0 10px;}

/* The grid */
.gridwrap{background: var(--sheet);border: 1px solid var(--grid);border-radius: var(--r);overflow: auto;max-height: min(78vh,900px);position: relative;overscroll-behavior: contain;}
.mx{border-collapse: separate;border-spacing: 0;width: 100%;min-width: 980px;font-size: .86rem;}
.mx th,.mx td{border-right: 1px solid var(--grid2);border-bottom: 1px solid var(--grid2);text-align: left;vertical-align: top;padding: 10px 12px;}
.mx thead th{position: sticky;top: 0;z-index: 3;background: #f6f7fa;border-bottom: 1px solid var(--grid);font-weight: 600;font-size: .82rem;white-space: nowrap;padding: 0;}
.mx thead th > button,.mx thead th > span.th{display: flex;flex-direction: column;align-items: flex-start;gap: 2px;width: 100%;padding: 8px 12px 9px;font: inherit;color: var(--ink);background: none;border: 0;text-align: left;cursor: pointer;}
.mx thead th > span.th{cursor: default;}
.mx thead th i{font: 500 .66rem var(--mono);font-style: normal;color: #8a93a5;letter-spacing: .08em;}
.mx thead th[aria-sort] i::after{content: " \2193";color: var(--sel);}
.mx thead th[aria-sort="ascending"] i::after{content: " \2191";}
.mx th[scope="row"],.mx thead th:first-child{position: sticky;left: 0;z-index: 2;background: var(--sheet);border-right: 1px solid var(--grid);min-width: 168px;}
.mx thead th:first-child{z-index: 4;background: #f6f7fa;}
.mx th[scope="row"] a{display: flex;align-items: baseline;gap: 10px;color: var(--ink);text-decoration: none;font-weight: 600;font-size: .92rem;}
.mx th[scope="row"] a:hover span:last-child{text-decoration: underline;}
.rn{font: 500 .7rem var(--mono);color: #8a93a5;min-width: 1.6em;}
.cc{font: 600 .68rem var(--mono);color: var(--ink2);border: 1px solid var(--grid);border-radius: 3px;padding: 1px 4px;}
.mx td p{margin: 6px 0 0;color: var(--ink2);font-size: .78rem;line-height: 1.4;max-width: 30ch;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.mx tbody tr{cursor: pointer;}
.mx tbody tr:hover td,.mx tbody tr:hover th{background: #f8f9fc;}
.mx tbody tr.is-sel td,.mx tbody tr.is-sel th{background: var(--sel-tint);}
.mx tbody tr.is-sel th{box-shadow: inset 3px 0 0 var(--sel);}
.mx td.hit{box-shadow: inset 0 0 0 2px var(--sel);}
.mx .col-off{display: none;}
.mx tr.grp th,.mx tr.grp td{background: var(--chrome);font: 600 .7rem var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--ink2);padding: 6px 12px;cursor: default;}
.empty{padding: 26px 16px;color: var(--ink2);}
.gridnote{font-size: .8rem;color: var(--ink2);margin: 10px 0 0;max-width: 90ch;}

/* Drawer */
.scrim{position: fixed;inset: 0;background: rgba(20,24,32,.32);z-index: 40;opacity: 0;transition: opacity .25s;}
.scrim.on{opacity: 1;}
.drawer{position: fixed;top: 0;right: 0;bottom: 0;width: min(520px,100%);z-index: 41;background: var(--sheet);border-left: 1px solid var(--grid);box-shadow: -18px 0 40px -24px rgba(20,24,32,.45);overflow-y: auto;transform: translateX(100%);transition: transform .32s cubic-bezier(.2,.7,.2,1);}
.drawer.on{transform: none;}
.dr-top{position: sticky;top: 0;background: var(--sheet);border-bottom: 1px solid var(--grid);display: flex;align-items: center;gap: 10px;padding: 12px 16px;z-index: 1;}
.dr-top h2{margin: 0;font-size: 1.25rem;letter-spacing: -.01em;}
.dr-top button{margin-left: auto;}
.dr-body{padding: 16px;}
.dr-law{font-size: .86rem;color: var(--ink2);margin: 0 0 14px;}
.field{border: 1px solid var(--grid);border-radius: var(--r);margin: 0 0 10px;}
.field > div{display: flex;align-items: center;justify-content: space-between;gap: 10px;padding: 9px 12px;border-bottom: 1px solid var(--grid2);background: #f8f9fb;border-radius: var(--r) var(--r) 0 0;}
.field h3{margin: 0;font-size: .86rem;}
.field h3 i{font: 500 .68rem var(--mono);font-style: normal;color: #8a93a5;margin-right: 6px;}
.field p{margin: 0;padding: 10px 12px 4px;font-size: .9rem;}
.field small{display: block;padding: 0 12px 10px;font: 500 .74rem/1.5 var(--mono);color: var(--ink2);}
.dr-acts{display: flex;flex-wrap: wrap;gap: 8px;margin: 16px 0 0;}

/* Compare */
.cmp{margin: 28px 0 0;background: var(--sheet);border: 1px solid var(--grid);border-radius: var(--r);padding: clamp(14px,2.4vw,24px);}
.cmp h2{margin: 0 0 4px;font-size: 1.3rem;letter-spacing: -.01em;}
.cmp-pick{display: flex;flex-wrap: wrap;gap: 10px;align-items: center;margin: 12px 0 14px;}
.cmp select{font: 500 .9rem var(--sans);padding: 8px 10px;border: 1px solid var(--grid);border-radius: var(--r);background: var(--sheet);color: var(--ink);}
.toggle{display: inline-flex;align-items: center;gap: 9px;font-size: .86rem;cursor: pointer;margin-left: auto;}
.toggle input{accent-color: var(--sel);width: 16px;height: 16px;}
.cmp .table{margin:0;}
.cmp .table table{min-width:0;table-layout:fixed;}
.cmp-t td{overflow-wrap:anywhere;}
@media (max-width:640px){.cmp-t{font-size:.8rem;}.cmp-t th,.cmp-t td{padding:8px 5px;}.cmp-t tbody th{width:18%;}.cmp-t .st{font-size:.66rem;padding:4px 5px;}}
.band-acts{margin-top: 14px;display: flex;flex-wrap: wrap;gap: 8px;}
.cmp-t{width: 100%;border-collapse: collapse;font-size: .88rem;}
.cmp-t th,.cmp-t td{border-top: 1px solid var(--grid2);padding: 10px 8px;text-align: left;vertical-align: top;}
.cmp-t thead th{border-top: 0;font-size: .95rem;}
.cmp-t tbody th{font-weight: 600;width: 22%;}
.cmp-t td p{margin: 6px 0 0;color: var(--ink2);font-size: .8rem;}
.cmp-t tr.same{opacity: .55;}
.cmp.only-diff tr.same{display: none;}

/* Sheet body: inspector rail + reading column */
.sheet{max-width: 1360px;margin: 22px auto 0;padding: 0 clamp(14px,3vw,28px);}
.doc{background: var(--sheet);border: 1px solid var(--grid);border-radius: var(--r);display: grid;grid-template-columns: minmax(0,1fr);}
.rail{border-bottom: 1px solid var(--grid);padding: 16px 18px;font-size: .84rem;}
.rail h2{font: 600 .7rem var(--mono);letter-spacing: .1em;text-transform: uppercase;color: #7a8396;margin: 0 0 8px;}
.rail dl{display: grid;grid-template-columns: auto 1fr;gap: 4px 12px;margin: 0 0 16px;}
.rail dt{font: 500 .74rem var(--mono);color: #7a8396;}
.rail dd{margin: 0;font-weight: 500;}
.rail ol{list-style: none;margin: 0;padding: 0;}
.rail li a{display: grid;grid-template-columns: 2.4em 1fr;gap: 6px;padding: 5px 0;color: var(--ink);text-decoration: none;line-height: 1.35;}
.rail li a span{font: 500 .72rem var(--mono);color: #8a93a5;padding-top: 1px;}
.rail li a:hover{color: var(--sel-ink);}
.prose{padding: clamp(18px,3.4vw,44px);min-width: 0;}
@media (max-width: 999px){.rail ol,.rail h2 + ol,.rail-in > h2:nth-of-type(2){display: none;} .rail dl{margin: 0;}}
@media (min-width: 1000px) {
  .doc{grid-template-columns: 250px minmax(0,1fr);}
  .rail{border-bottom: 0;border-right: 1px solid var(--grid);}
  .rail-in{position: sticky;top: calc(var(--bar) + 54px);}
}
.prose > *{max-width: 70ch;}
.prose > .table,.prose > .products,.prose > .product-feature,.prose > figure,.prose > .records{max-width: none;}
.prose h2{font-size: clamp(1.25rem,1rem + .8vw,1.6rem);letter-spacing: -.015em;line-height: 1.2;margin: 2.2em 0 .6em;padding-top: 1.1em;border-top: 1px solid var(--grid2);display: flex;gap: 12px;align-items: baseline;}
.prose h2:first-child{margin-top: 0;}
.prose h2::before{content: attr(data-ref);font: 500 .74rem var(--mono);color: var(--sel);flex: none;min-width: 2.4em;}
.prose h3{font-size: 1.08rem;margin: 1.6em 0 .4em;}
.prose p,.prose li{font-size: 1.02rem;}
.prose ul,.prose ol{padding-left: 1.2em;}
.prose li{margin: .3em 0;}
.prose li::marker{color: var(--sel);font-family: var(--mono);}
.prose blockquote{margin: 1.4em 0;padding: 12px 16px;border-left: 3px solid var(--sel);background: var(--sel-tint);border-radius: 0 var(--r) var(--r) 0;}
.prose blockquote p{margin: .3em 0;}
.prose code{font: .9em var(--mono);background: var(--grid2);padding: 1px 5px;border-radius: 3px;}
.prose hr{border: 0;border-top: 1px dashed var(--grid);margin: 2em 0;}
.prose figure{margin: 1.6em 0;}
.prose figure img{border-radius: var(--r);border: 1px solid var(--grid);}

/* Markdown tables become mini sheets */
.table{overflow-x: auto;border: 1px solid var(--grid);border-radius: var(--r);margin: 1.4em 0;}
.table table{border-collapse: collapse;width: 100%;font-size: .9rem;min-width: 560px;}
.table th,.table td{padding: 9px 12px;border-bottom: 1px solid var(--grid2);border-right: 1px solid var(--grid2);text-align: left;vertical-align: top;}
.table th:last-child,.table td:last-child{border-right: 0;}
.table tr:last-child td{border-bottom: 0;}
.table thead th{background: #f6f7fa;font-size: .8rem;font-weight: 600;border-bottom: 1px solid var(--grid);}
.table tbody td:first-child{font-weight: 600;}

/* Product records */
.products{display: grid;grid-template-columns: repeat(auto-fill,minmax(200px,1fr));gap: 12px;margin: 1.6em 0;}
.pr{display: flex;flex-direction: column;background: var(--sheet);border: 1px solid var(--grid);border-radius: var(--r);color: var(--ink);text-decoration: none;overflow: hidden;transition: border-color .2s,box-shadow .2s;}
.pr:hover{border-color: var(--sel);box-shadow: 0 0 0 2px var(--sel-tint);text-decoration: none;}
.pr-img{aspect-ratio: 1;background: #f4f5f8;border-bottom: 1px solid var(--grid2);position: relative;}
.pr-img img{width: 100%;height: 100%;object-fit: contain;padding: 10px;}
.pr-tag{position: absolute;left: 8px;top: 8px;font: 600 .68rem var(--mono);background: var(--ok-bg);color: var(--ok);padding: 3px 6px;border-radius: 3px;}
.pr dl{margin: 0;display: grid;grid-template-columns: auto 1fr;font-size: .8rem;}
.pr dt,.pr dd{margin: 0;padding: 6px 10px;border-bottom: 1px solid var(--grid2);}
.pr dt{font: 500 .7rem var(--mono);color: #7a8396;padding-top: 7px;border-right: 1px solid var(--grid2);}
.pr dd{font-weight: 500;}
.pr-name{font-weight: 650;font-size: .95rem;line-height: 1.3;padding: 10px 10px 8px;}
.pr-go{margin-top: auto;display: flex;justify-content: space-between;align-items: center;gap: 8px;padding: 9px 10px;font: 600 .82rem var(--sans);color: var(--sel-ink);}
.pr-go b{font: 600 .9rem var(--mono);color: var(--ink);}
.product-feature{margin: 1.6em 0;}
.product-feature .pr{display: grid;grid-template-columns: minmax(0,1fr);}
@media (min-width: 640px){.product-feature .pr{grid-template-columns: 240px minmax(0,1fr);} .product-feature .pr-img{border-bottom: 0;border-right: 1px solid var(--grid2);height: 100%;}}
.pf-b,.pf-n{display: flex;flex-direction: column;flex: 1;}
.pr-go .ico{vertical-align: -3px;display: inline-block;}
.pf-b .pr-name{font-size: 1.15rem;padding: 14px 14px 10px;}

/* Home: exception band + notes */
.band{max-width: 1360px;margin: 28px auto 0;padding: 0 clamp(14px,3vw,28px);}
.band-in{display: grid;grid-template-columns: minmax(0,1fr);background: var(--ink);color: #e9ecf3;border-radius: var(--r);overflow: hidden;}
.band-img{position: relative;min-height: 220px;}
.band-img img{width: 100%;height: 100%;object-fit: cover;position: absolute;inset: 0;}
.band-txt{padding: clamp(18px,3vw,34px);}
.band-txt .ref{font: 500 .74rem var(--mono);color: #9fb0ff;}
.band-txt h2{font-size: clamp(1.3rem,1rem + 1vw,1.8rem);letter-spacing: -.02em;line-height: 1.15;margin: 6px 0 10px;color: #fff;}
.band-txt p{color: #c9cfdc;margin: 0 0 14px;max-width: 56ch;}
.band-txt .st-legal{background: #1c3a2d;color: #8fe0b4;}
.band .pr{background: #1d2230;border-color: #343b4d;color: #fff;}
.band .pr-img{background: #f4f5f8;}
.band .product-feature .pr{grid-template-columns: 132px minmax(0,1fr);}
.band .product-feature .pr-img{border: 0;height: auto;aspect-ratio: 1;align-self: start;}
.band .pf-b .pr-name{font-size: 1rem;padding: 10px 12px 6px;}
.band .pr dt,.band .pr dd{border-color: #343b4d;}
.band .pr dt{color: #9aa3b5;border-right-color: #343b4d;}
.band .pr-go{color: #b9c5ff;}
.band .pr-go b{color: #fff;}
.band .pr:hover{border-color: #9fb0ff;box-shadow: none;}
@media (min-width: 900px){.band-in{grid-template-columns: 1.05fr 1fr;} .band-img{min-height: 100%;}}

/* Country records (countries sheet) */
.records{display: grid;gap: 14px;margin: 1.6em 0;}
.rec{border: 1px solid var(--grid);border-radius: var(--r);scroll-margin-top: calc(var(--bar) + 16px);}
.rec:target{border-color: var(--sel);box-shadow: 0 0 0 3px var(--sel-tint);}
.rec-h{display: flex;flex-wrap: wrap;align-items: baseline;gap: 6px 12px;padding: 12px 14px;border-bottom: 1px solid var(--grid);background: #f8f9fb;border-radius: var(--r) var(--r) 0 0;}
.prose .rec-h h2{margin: 0;padding: 0;border: 0;font-size: 1.2rem;}
.prose .rec-h h2::before{content: none;}
.rec-h p{margin: 0;font-size: .84rem;color: var(--ink2);}
.rec-g{display: grid;grid-template-columns: minmax(0,1fr);}
.rec-c{padding: 12px 14px;border-bottom: 1px solid var(--grid2);}
.rec-c h3{margin: 0 0 6px;font-size: .8rem;font-weight: 600;color: var(--ink2);}
.rec-c h3 i{font: 500 .68rem var(--mono);font-style: normal;color: #8a93a5;margin-right: 6px;}
.prose .rec-c p{margin: 8px 0 4px;font-size: .9rem;}
.rec-c small{font: 500 .72rem/1.5 var(--mono);color: var(--ink2);display: block;}
.rec-t{padding: 12px 14px;font-size: .9rem;}
.rec-t p{margin: 0;}
@media (min-width: 760px){.rec-g{grid-template-columns: repeat(2,minmax(0,1fr));} .rec-c:nth-child(odd){border-right: 1px solid var(--grid2);}}
@media (min-width: 1200px){.rec-g{grid-template-columns: repeat(3,minmax(0,1fr));} .rec-c{border-right: 1px solid var(--grid2);} .rec-c:nth-child(3n){border-right: 0;}}
.az{display: flex;flex-wrap: wrap;gap: 6px;margin: 1em 0;}
.az a{font: 600 .74rem var(--mono);text-decoration: none;border: 1px solid var(--grid);border-radius: 4px;padding: 4px 7px;color: var(--ink);}
.az a:hover{border-color: var(--sel);color: var(--sel-ink);}

/* Next steps + CTA */
.next{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 10px;margin: 2.4em 0 0;max-width: none !important;}
.next a{display: block;border: 1px solid var(--grid);border-radius: var(--r);padding: 12px 14px;text-decoration: none;color: var(--ink);background: #fafbfc;}
.next a span{display: block;font: 500 .7rem var(--mono);color: var(--sel);margin-bottom: 4px;}
.next a:hover{border-color: var(--sel);}

/* Footer */
.foot{max-width: 1360px;margin: 36px auto 0;padding: 0 clamp(14px,3vw,28px) 32px;}
.foot-in{display: grid;gap: 18px;grid-template-columns: minmax(0,1fr);border-top: 1px solid var(--grid);padding-top: 22px;font-size: .86rem;color: var(--ink2);}
.foot-pub{display: flex;gap: 14px;align-items: center;}
.foot-pub img{width: 64px;height: 64px;flex: none;}
.foot p{margin: 0 0 6px;}
.foot a{color: var(--ink);}
@media (min-width: 860px){.foot-in{grid-template-columns: 1.2fr 1fr;}}

@media (max-width: 640px) {
  .stamp{display: none;}
  .mx{min-width: 860px;font-size: .82rem;}
  .mx th[scope="row"],.mx thead th:first-child{min-width: 132px;}
  .mx td p{display: none;}
  .gridwrap{max-height: 72vh;}
  .toggle{margin-left: 0;}
  .chips{flex-wrap: nowrap;overflow-x: auto;width: 100%;scrollbar-width: none;}
  .fchip{flex: none;}
  .band .product-feature .pr{grid-template-columns: 96px minmax(0,1fr);}
  .band .pr-img img{padding: 6px;}
}
@media (prefers-reduced-motion: reduce) {
  .drawer,.scrim{transition: none;}
  *{scroll-behavior: auto !important;}
}
