/*
  v/ad.css: DESIGN AD, "Woven Maya". The one design of the site (Tomek's pick, 2026-10-21).

  IDEA  D's colours and warmth, A's symbols and clean structure.
        From D: indigo, jade, cinnabar, marigold and linen panels, woven stripe bands, the checker hero,
                Bricolage Grotesque headlines.
        From A: the left rail with dot-and-bar section numerals, step-fret bands, stepped photo silhouettes,
                hairline grids and lists, mono figures, square corners, no hard offset shadows.
  GLYPHS  Section numerals are the plain dot-and-bar way of writing 1 to 7, drawn as decoration next to
          normal text. No glyph is used as writing and none claims a meaning. All patterns are original
          and abstract, made in CSS.
  LAYOUT  Fixed indigo rail on desktop (opens on hover), indigo top bar on mobile. Full-screen colour panels.
  FONTS   Bricolage Grotesque (headlines), Geist (reading), Geist Mono (figures).
  PANELS  Dark panels re-declare --ink, --muted, --link and --line so text stays AA on every colour.
*/
@font-face { font-family: "Geist Mono"; src: url("../fonts/geist-mono-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Bricolage Grotesque"; src: url("../fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2"); font-weight: 200 800; font-display: swap; }

:root {
  --indigo: #1e2760; --indigo-deep: #161d4a; --cinnabar: #b8341f; --marigold: #f2b632; --jade: #12705a; --paper: #fbf6ec;
  --bg: #fbf6ec; --surface: #fffdf8; --tint: #f0e6d2; --ink: #1b1410; --muted: #5a4a40; --line: #d9ccb4;
  --link: #a12e1b; --accent: var(--cinnabar); --on-accent: #ffffff; --focus: #1e2760;
  --radius: 0; --btn-radius: 2px;
  --font-display: "Bricolage Grotesque", "Geist", system-ui, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --field-bg: #fffdf8; --field-line: #1b1410;
  --badge-bg: #1b1410; --badge-fg: #fbf6ec;
  --marker-fill: #f2b632; --marker-stroke: #1e2760; --marker-r: 8;
  --vsw-bg: #1e2760; --vsw-fg: #ffffff; --vsw-cur-bg: #f2b632; --vsw-cur-fg: #1b1410;
  --color-accent: #f2b632; --color-accent-ink: #1b1410; --color-focus: #f2b632; --color-video-frame: #161d4a;
  --rail: 84px;
  --stripes: repeating-linear-gradient(90deg, var(--cinnabar) 0 24px, var(--marigold) 24px 40px, var(--jade) 40px 64px, var(--paper) 64px 72px);
  --fret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' viewBox='0 0 32 16'%3E%3Cpath d='M0 15H5V3H27V15H32M13 15V8H20V11' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
}
html { background: var(--indigo); scroll-padding-top: 72px; }
body { font-size: 1.0625rem; padding-top: 0; }
h1, h2 { font-weight: 800; letter-spacing: -0.035em; line-height: 1; }
h2 { font-size: clamp(2.1rem, 4.2vw, 3.6rem); margin: 0; }
h3 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; letter-spacing: -0.015em; line-height: 1.2; }
.lead { font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.55; }
.btn { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.005em; }
.btn-primary { background: var(--marigold); color: #1b1410; border-color: var(--marigold); }
.btn-primary:hover { color: #1b1410; }
.btn-ghost { border-color: currentColor; }
.btn-quiet { background: var(--tint); border: 1px solid var(--ink); border-radius: 2px; }

/* Dot-and-bar numerals */
.maya { width: 28px; height: auto; color: var(--cinnabar); }
.maya-lg { width: 44px; }
.maya-xl { width: 64px; margin-bottom: 1.4rem; }

/* RAIL (desktop) / TOP BAR (mobile): indigo, with a woven edge */
.rail { position: sticky; top: 0; z-index: 60; height: 64px; display: flex; align-items: center; gap: 0.8rem; padding: 0 var(--pad); background: var(--indigo); color: #fff; }
.rail-weave { position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--stripes); }
.brand { display: inline-flex; align-items: center; gap: 0.6rem; color: #fff; text-decoration: none; font-family: var(--font-display); font-weight: 800; letter-spacing: -0.02em; margin-right: auto; white-space: nowrap; }
.brand img { height: 24px; width: auto; padding: 3px 5px; background: var(--paper); box-sizing: content-box; }
.nav { position: absolute; left: 0; right: 0; top: 64px; display: none; flex-direction: column; background: var(--indigo); padding: 0.4rem var(--pad) 1rem; max-height: calc(100svh - 64px); overflow: auto; }
.nav.open { display: flex; }
.nav a { display: flex; align-items: center; gap: 1rem; padding: 0.8rem 0.2rem; border-bottom: 1px solid rgb(255 255 255 / 0.2); color: #fff; text-decoration: none; font-family: var(--font-display); font-weight: 700; }
.nav .maya { width: 26px; color: var(--marigold); }
.nav a.active .maya, .nav a:hover .maya { color: #7fe0bf; }
.nav a.active .lbl { color: var(--marigold); }
.lang { display: inline-flex; border: 1px solid rgb(255 255 255 / 0.6); padding: 2px; }
.lang a { text-decoration: none; color: #fff; font-family: var(--mono); font-weight: 600; font-size: 0.8rem; padding: 0.3rem 0.6rem; min-width: 38px; text-align: center; }
.lang a[aria-current] { background: var(--marigold); color: #1b1410; }
.menu-btn { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #fff; background: transparent; color: #fff; cursor: pointer; }
.menu-btn .ico { width: 22px; height: 22px; }
.rail :focus-visible { outline-color: var(--marigold); }

@media (min-width: 1100px) {
  html { scroll-padding-top: 0; }
  .rail { position: fixed; inset: 0 auto 0 0; width: var(--rail); height: auto; flex-direction: column; align-items: flex-start; padding: 22px 0 22px 22px; gap: 1.6rem; overflow: hidden; transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
  .rail-weave { left: auto; top: 0; right: 0; bottom: 0; width: 6px; height: auto; background: repeating-linear-gradient(180deg, var(--cinnabar) 0 24px, var(--marigold) 24px 40px, var(--jade) 40px 64px, var(--paper) 64px 72px); }
  .rail:hover, .rail:focus-within { width: 280px; box-shadow: 24px 0 60px -30px rgb(10 12 40 / 0.6); }
  .brand { margin: 0; }
  .brand-t { opacity: 0; max-width: 0; overflow: hidden; transition: opacity 0.25s, max-width 0.3s; }
  .rail:hover .brand-t, .rail:focus-within .brand-t { opacity: 1; max-width: 180px; }
  .nav { position: static; display: flex; padding: 0; gap: 0.25rem; background: transparent; margin-block: auto; max-height: none; overflow: visible; }
  .nav a { border: 0; padding: 0.55rem 0; position: relative; }
  .nav a .num { width: 36px; display: grid; place-items: center start; }
  .nav .lbl { opacity: 0; max-width: 0; overflow: hidden; white-space: nowrap; transition: opacity 0.25s, max-width 0.3s; }
  .rail:hover .lbl, .rail:focus-within .lbl { opacity: 1; max-width: 200px; }
  .nav a.active::before { content: ""; position: absolute; left: -22px; top: 18%; bottom: 18%; width: 4px; background: var(--marigold); }
  .lang { flex-direction: column; }
  .menu-btn { display: none; }
  main, .site-footer { margin-left: var(--rail); }
}
@media (max-width: 1099px) { .nav .num { display: grid; } }
@media (max-width: 420px) { .brand-t { font-size: 0.86rem; } .lang a { padding: 0.3rem 0.45rem; min-width: 32px; } }

/* PANELS: every one fills the screen, each a block of woven colour */
.scr { position: relative; min-height: 100svh; padding: clamp(3rem, 7vw, 6rem) var(--pad); display: grid; align-content: center; gap: clamp(2rem, 4vw, 3.5rem); background: var(--paper); }
.hero, .community, .about { --ink: #ffffff; --muted: #dfe3fb; --link: #ffd978; --line: rgb(255 255 255 / 0.32); --focus: #ffd978; --badge-bg: #fbf6ec; --badge-fg: #1b1410; background-color: var(--indigo); color: #fff; }
.lake { --ink: #ffffff; --muted: #e2f3ec; --link: #ffd978; --line: rgb(255 255 255 / 0.34); --focus: #ffd978; --badge-bg: #fbf6ec; --badge-fg: #1b1410; background: var(--jade); color: #fff; }
.transport { --ink: #ffffff; --muted: #fde9e4; --link: #ffffff; --line: rgb(255 255 255 / 0.4); --focus: #ffffff; --badge-bg: #fbf6ec; --badge-fg: #1b1410; background: var(--cinnabar); color: #fff; }
.expats { --ink: #1b1410; --muted: #2a1d10; --link: #1e2760; --line: rgb(27 20 16 / 0.35); background: var(--marigold); color: #1b1410; }
.bitcoin, .tours { background: var(--paper); }
.sec-head { position: relative; display: flex; align-items: flex-end; gap: 1.1rem; margin-bottom: 1.6rem; padding-bottom: 0.9rem; border-bottom: 1px solid var(--line); }
.sec-head h2 { min-width: 0; }
.hero .maya, .community .maya, .about .maya, .lake .maya, .transport .maya { color: var(--marigold); }
.expats .maya { color: var(--indigo); }

/* Woven stripe band and step-fret band (mask, takes any colour) */
.weave-band { height: 12px; background: var(--stripes); }
.fret { height: 18px; background: var(--marigold); -webkit-mask: var(--fret) repeat-x 0 50% / 32px 16px; mask: var(--fret) repeat-x 0 50% / 32px 16px; }

/* HERO: indigo checker, A's drawn grid lines, stepped photo with a cinnabar step behind */
.hero { grid-template-columns: minmax(0, 1fr); align-items: center; overflow: clip;
  background-image: linear-gradient(45deg, rgb(255 255 255 / 0.045) 25%, transparent 25%, transparent 75%, rgb(255 255 255 / 0.045) 75%), linear-gradient(45deg, rgb(255 255 255 / 0.045) 25%, transparent 25%, transparent 75%, rgb(255 255 255 / 0.045) 75%);
  background-size: 72px 72px; background-position: 0 0, 36px 36px; }
.gridlines { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.gl { fill: none; stroke: var(--marigold); stroke-width: 1; vector-effect: non-scaling-stroke; opacity: 0.35; }
.hero-copy, .hero-frame { position: relative; z-index: 1; min-width: 0; }
.hero h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); max-width: 14ch; margin-bottom: 0.45em; }
.lede { font-size: clamp(1.1rem, 1.7vw, 1.3rem); line-height: 1.5; max-width: 36ch; margin-bottom: 1.8rem; color: var(--muted); }
.cta-row { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.hero .btn-ghost { color: #fff; }
.hero .btn-ghost:hover { background: #fff; color: var(--indigo); }
.hero-frame img { height: min(70svh, 700px); aspect-ratio: auto; }
.stair picture { display: block; position: relative; }
.stair img { position: relative; clip-path: polygon(0 16%, 7% 16%, 7% 8%, 14% 8%, 14% 0, 100% 0, 100% 84%, 93% 84%, 93% 92%, 86% 92%, 86% 100%, 0 100%); }
.stair-back picture { margin: 0 14px 14px 0; }
.stair-back picture::before { content: ""; position: absolute; inset: 14px -14px -14px 14px; background: var(--cinnabar); clip-path: polygon(0 16%, 7% 16%, 7% 8%, 14% 8%, 14% 0, 100% 0, 100% 84%, 93% 84%, 93% 92%, 86% 92%, 86% 100%, 0 100%); }
.tours .stair-back picture::before { background: var(--jade); }
@media (min-width: 1100px) { .hero { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); } }
@media (max-width: 1099px) { .stair img { aspect-ratio: 4 / 3; height: auto; } }

.band { background: var(--paper); }
.band .pano img { width: 100%; height: clamp(110px, 20svh, 220px); }
.band .pano figcaption { padding: 0.5rem var(--pad); margin: 0; }

/* LAKE: jade panel, town bars in marigold */
.lake { grid-template-columns: minmax(0, 1fr); align-items: center; }
@media (min-width: 1100px) { .lake { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.towns-h { margin-top: 2rem; font-size: 1.05rem; }
.towns { list-style: none; margin: 0 0 0.8rem; display: grid; gap: 0.35rem; }
.towns li { display: grid; grid-template-columns: minmax(7rem, 11rem) minmax(0, 1fr) 2.2rem; gap: 0.8rem; align-items: center; font-size: 0.93rem; }
.towns i { display: block; height: 6px; width: calc(var(--w) * 100%); background: var(--marigold); }
.towns b { font-family: var(--mono); font-weight: 600; text-align: right; }
.lake-photos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; min-width: 0; }
.lake-photos .p1 { grid-column: 1 / -1; } .lake-photos .p1 img { aspect-ratio: 16 / 8; }
.lake-photos .p2, .lake-photos .p3, .lake-photos .p4 { grid-column: span 2; }
.lake-photos .p2 img, .lake-photos .p3 img, .lake-photos .p4 img { aspect-ratio: 4 / 5; }
.lake-photos .p2 img { clip-path: polygon(0 10%, 12% 10%, 12% 0, 100% 0, 100% 100%, 0 100%); }
.lake-photos .p3 img { clip-path: polygon(0 0, 88% 0, 88% 10%, 100% 10%, 100% 100%, 0 100%); }
.lake-photos .p4 img { filter: sepia(0.35) contrast(1.05); }
@media (max-width: 599px) { .lake-photos .p2, .lake-photos .p3 { grid-column: span 3; } .lake-photos .p4 { grid-column: 1 / -1; } .lake-photos .p4 img { aspect-ratio: 16 / 9; } }

/* BITCOIN: linen panel, clean figures, hairline cards */
.bitcoin { align-content: start; }
.stats { display: flex; flex-wrap: wrap; gap: 1rem 3.5rem; margin: 1.8rem 0 1rem; }
.stats div { display: flex; flex-direction: column-reverse; padding-left: 1rem; border-left: 6px solid var(--marigold); }
.stats div:nth-child(2) { border-left-color: var(--cinnabar); } .stats div:nth-child(3) { border-left-color: var(--jade); }
.stats dt { color: var(--muted); font-size: 0.95rem; }
.stats dd { margin: 0; font-family: var(--mono); font-weight: 500; font-size: clamp(2.6rem, 5vw, 4rem); line-height: 1; letter-spacing: -0.05em; padding-bottom: 0.15em; color: var(--indigo); }
.finder { --map-h: clamp(460px, 78svh, 860px); }
#map { border: 2px solid var(--indigo); border-radius: 0; }
.leaflet-tile-pane { filter: sepia(0.35) saturate(1.15) hue-rotate(-10deg) contrast(0.98); }
input[type="search"], select { border-radius: 2px; }
.chip { border-radius: 2px; border-color: var(--ink); font-family: var(--font-display); font-weight: 700; }
.chip[aria-pressed="true"] { background: var(--indigo); border-color: var(--indigo); color: #fff; }
.count { font-family: var(--font-display); }
.card { background: transparent; border: 0; border-top: 1px solid var(--ink); padding: 1rem 0.2rem; }
.card.is-focus { box-shadow: none; border-top: 4px solid var(--marigold); }
.tags li { border-radius: 2px; background: var(--tint); font-family: var(--mono); font-weight: 500; }

/* TRANSPORT: cinnabar panel, hairline ride list, marigold ATM block with a cut corner */
.transport { grid-template-columns: minmax(0, 1fr); align-items: center; }
@media (min-width: 1100px) { .transport { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); } }
.rides { list-style: none; margin: 1.6rem 0 0; display: grid; }
.ride { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: 1.1rem 0; border-top: 1px solid var(--line); }
.ride:last-child { border-bottom: 1px solid var(--line); }
.ride-ico { width: 2.1rem; height: 2.1rem; color: var(--marigold); }
.ride h3 { margin: 0; } .ride .kind { margin: 0; color: var(--muted); font-size: 0.88rem; font-family: var(--mono); }
.ride .meta { margin: 0.35rem 0 0; font-size: 0.9rem; display: flex; flex-wrap: wrap; gap: 0.2rem 1.2rem; }
.transport .btn-quiet { background: transparent; color: #fff; border-color: #fff; }
.transport .btn-quiet:hover { background: #fff; color: var(--cinnabar); }
.community-transport-photos { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.8fr); align-items: start; gap: 1rem; margin-top: 1.5rem; }
.community-photo img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: cover; }
.community-photo figcaption { color: var(--muted); font-size: 0.8rem; line-height: 1.45; margin-top: 0.55rem; }
.community-photo .credit { display: block; }
@media (max-width: 599px) { .community-transport-photos { grid-template-columns: 1fr; } }
@media (max-width: 599px) { .ride { grid-template-columns: auto 1fr; } .ride .show-btn { grid-column: 1 / -1; justify-self: start; } }
.atm { padding: clamp(1.4rem, 3vw, 2.2rem); background: var(--marigold); color: #1b1410; --ink: #1b1410; --muted: #2a1d10; --link: #1e2760; --badge-bg: #1b1410; --badge-fg: #fbf6ec; clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%); }
.atm-ico .ico { width: 2.4rem; height: 2.4rem; color: var(--indigo); margin-bottom: 0.8rem; }

/* COMMUNITY: indigo panel, hairline grid, three tiles in woven colours (flat, no shadows) */
.community { align-content: center; }
.bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); border-top: 1px solid #fff; border-left: 1px solid var(--line); }
.tile { grid-column: 1 / -1; padding: clamp(1.4rem, 2.6vw, 2.2rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tile > .ico { width: 2rem; height: 2rem; margin-bottom: 0.9rem; color: var(--marigold); }
.tile p:last-child { margin-bottom: 0; }
.tile h3 { font-size: 1.4rem; }
.tile-wa { background: var(--jade); --muted: #e2f3ec; }
.tile-wa > .ico { color: #fff; }
.tile-meet { background: var(--marigold); color: #1b1410; --ink: #1b1410; --muted: #2a1d10; --link: #1e2760; --badge-bg: #1b1410; --badge-fg: #fbf6ec; }
.tile-meet > .ico { color: var(--indigo); }
.tile-follow { background: var(--cinnabar); --muted: #fde9e4; --link: #ffffff; }
.tile-follow > .ico { color: #fff; }
.tile .muted { color: var(--muted); }
@media (min-width: 900px) { .tile-wa { grid-column: span 5; } .tile-meet { grid-column: span 4; } .tile-school { grid-column: span 3; } .tile-follow { grid-column: span 5; } .tile-who { grid-column: span 7; } }
.press-highlights h3 { color: var(--muted); }

/* TOURS */
.tours { grid-template-columns: minmax(0, 1fr); align-items: center; }
@media (min-width: 1100px) { .tours { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.tours-photo img { height: min(72svh, 720px); aspect-ratio: auto; }
@media (max-width: 1099px) { .tours-photo img { height: auto; aspect-ratio: 4 / 3; } }
.points { list-style: none; margin: 1.6rem 0 1.8rem; display: grid; gap: 1.3rem; }
.points li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding-top: 1.1rem; border-top: 1px solid var(--ink); }
.points .ico { width: 2.8rem; height: 2.8rem; padding: 0.6rem; background: var(--marigold); color: #1b1410; }
.points li:nth-child(2) .ico { background: var(--jade); color: #fff; } .points li:nth-child(3) .ico { background: var(--cinnabar); color: #fff; }
.points h3 { margin-bottom: 0.2rem; } .points p { margin: 0; color: var(--muted); }

/* EXPATS: marigold panel with an indigo weave and a woven edge */
.expats { overflow: clip; align-content: center; padding-left: calc(var(--pad) + 14px); }
.expats::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 14px; background: repeating-linear-gradient(0deg, var(--indigo) 0 28px, var(--cinnabar) 28px 44px, var(--jade) 44px 72px); }
.weave { position: absolute; inset: 0; opacity: 0.5; background:
  repeating-linear-gradient(90deg, transparent 0 22px, rgb(30 39 96 / 0.08) 22px 24px),
  repeating-linear-gradient(0deg, transparent 0 22px, rgb(30 39 96 / 0.08) 22px 24px); }
.expats-inner { position: relative; max-width: 62rem; }
.expats h2 { font-size: clamp(2.6rem, 6.4vw, 5.6rem); line-height: 0.98; margin: 1rem 0 1.4rem; max-width: 14ch; }
.expats .lead { max-width: 52ch; }
.expats .btn-primary { background: var(--indigo); border-color: var(--indigo); color: #fff; }
.expats .btn { margin-top: 0.8rem; }

/* ABOUT: indigo, hairline press list */
.about { grid-template-columns: minmax(0, 1fr); align-items: center; }
@media (min-width: 1100px) { .about { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); } }
.press h3 { font-size: 1rem; color: var(--muted); font-weight: 700; }
.press ul { list-style: none; margin: 0; display: grid; }
.press .press-entry { display: grid; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); color: var(--ink); }
.press li:last-child .press-entry { border-bottom: 1px solid var(--line); }
.press .press-entry:hover .ptitle { text-decoration: underline; }
.press .outlet { font-size: 0.85rem; color: var(--muted); font-family: var(--mono); }
.press .ptitle { font-family: var(--font-display); font-weight: 700; line-height: 1.25; }
.press .pquote { font-size: 0.9rem; line-height: 1.45; color: var(--muted); font-style: italic; }
.press .read { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.88rem; color: var(--link); font-weight: 700; }
.press-photo img { background: var(--indigo-deep); }

.site-footer { background: #140e0b; color: #e6dad0; padding-bottom: 3rem; font-size: 0.9rem; }
.site-footer .foot { padding: 2.2rem var(--pad) 0; }
.foot-brand { display: inline-block; margin-bottom: 1.2rem; } .foot-brand img { height: 26px; width: auto; padding: 3px 6px; background: var(--paper); box-sizing: content-box; }
.site-footer p { max-width: 80ch; margin-bottom: 0.6rem; }
.site-footer .legal { color: #fff; font-weight: 650; } .site-footer a { color: #fff; } .site-footer .muted { color: #cdbfb3; }

/* MOTION (progressive enhancement) */
@media (prefers-reduced-motion: no-preference) {
  .gl { stroke-dasharray: 6000; stroke-dashoffset: 6000; animation: draw 2.4s 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
  @keyframes draw { to { stroke-dashoffset: 0; } }
  .hero-copy > * { animation: rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both; } .hero-copy > :nth-child(2) { animation-delay: 0.1s; } .hero-copy > :nth-child(3) { animation-delay: 0.2s; } .hero-copy > :nth-child(4) { animation-delay: 0.3s; }
  @keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
  .weave-band { background-size: 144px 12px; animation: weave 14s linear infinite; } @keyframes weave { to { background-position: 144px 0; } }
  @supports (animation-timeline: view()) {
    .sec-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: linear-gradient(90deg, var(--marigold), transparent); transform-origin: left; animation: grow linear both; animation-timeline: view(); animation-range: entry 10% entry 90%; }
    @keyframes grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  }
}


/* ---------- Bitcoin Lago's own content (2026-10-21): gallery, story timeline, services, request form ---------- */
.lb-gallery h3 { font-size: 1.15rem; color: var(--marigold); margin-bottom: 1rem; }
.lb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; }
.lb-photo { margin: 0; }
.lb-photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--indigo-deep); }
.lb-photo figcaption { font-size: 0.9rem; line-height: 1.4; margin-top: 0.45rem; color: var(--ink); }
.lb-photo .credit { display: block; font-size: 0.82rem; color: var(--muted); }
.community .lb-photo a.credit { color: var(--link); }

.eli-quote { margin: 1.4rem 0; padding: 1.1rem 1.3rem; border-left: 6px solid var(--marigold); background: rgb(255 255 255 / 0.07); }
.eli-quote p { font-family: var(--font-display); font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.45; margin: 0 0 0.6rem; }
.eli-quote footer { font-size: 0.92rem; color: var(--muted); font-weight: 700; }
.about-text .link-arrow { margin-right: 1.2rem; }

.timeline { grid-column: 1 / -1; }
.timeline h3 { font-size: 1.15rem; color: var(--marigold); }
.timeline ol { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0; }
.timeline li { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.timeline li:last-child { border-bottom: 1px solid var(--line); }
.tl-year { font-family: var(--mono); font-weight: 600; font-size: 1.5rem; color: var(--marigold); line-height: 1.1; }
.timeline p { margin: 0; max-width: 70ch; line-height: 1.55; }
.tl-src { font-size: 0.82rem; color: var(--muted); white-space: nowrap; }
.tl-src a { color: var(--link); padding: 0 0.15rem; }
@media (min-width: 900px) { .timeline ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; } .timeline li:nth-last-child(2) { border-bottom: 1px solid var(--line); } }

.svc-wrap { grid-column: 1 / -1; display: grid; gap: 1.6rem; }
@media (min-width: 1100px) { .svc-wrap { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); align-items: start; } }
.svc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; }
.svc { padding: 1.3rem 1.3rem 1.1rem; background: #fff; border-top: 6px solid var(--marigold); }
.svc-live { border-top-color: var(--jade); } .svc-groups { border-top-color: var(--cinnabar); } .svc-support { border-top-color: var(--indigo); }
.svc > .ico { width: 1.9rem; height: 1.9rem; color: var(--indigo); margin-bottom: 0.5rem; }
.svc h3 { font-size: 1.2rem; margin-bottom: 0.5rem; }
.svc ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.45rem; }
.svc li { line-height: 1.45; color: #2a2a2a; }
.ask { background: var(--indigo); color: #fff; padding: clamp(1.3rem, 2.5vw, 2rem); display: grid; gap: 0.9rem; --muted: #dfe3fb; position: sticky; top: 84px; }
.ask h3 { font-size: 1.4rem; margin: 0; color: #fff; }
.ask p { margin: 0; }
.ask .field { min-width: 0; }
.ask label { color: #fff; }
.ask input, .ask select, .ask textarea { width: 100%; font: inherit; font-size: 1rem; padding: 0.7rem 0.8rem; border: 2px solid transparent; border-radius: 2px; background: #fff; color: #1b1410; }
.ask input:focus, .ask select:focus, .ask textarea:focus { outline: 3px solid var(--marigold); outline-offset: 1px; }
.ask .row2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.6fr); gap: 0.8rem; }
.ask .btn-primary { justify-self: start; background: var(--marigold); border-color: var(--marigold); color: #1b1410; }
.ask .btn-primary .ico { width: 1.3rem; height: 1.3rem; margin-right: 0.4rem; }
.ask .small { font-size: 0.85rem; color: var(--muted); }
@media (max-width: 1099px) { .ask { position: static; } }

/* fixes after visual review */
.lb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 760px) { .lb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .lb-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 479px) { .lb-grid { grid-template-columns: minmax(0, 1fr); } }
.svc-support { grid-column: 1 / -1; }
.ask input::placeholder, .ask textarea::placeholder { color: #5d5d70; }
.ask .send-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; }
.about > * { grid-column: 1 / -1; }
.about-text { max-width: 62rem; }
@media (min-width: 1100px) { .about .press ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; } .about .press li:nth-last-child(2) .press-entry { border-bottom: 1px solid var(--line); } }

.svc-grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) { .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.svc-support { grid-column: auto; }
.timeline ol { grid-template-columns: minmax(0, 1fr) !important; max-width: 62rem; }
.timeline li:nth-last-child(2) { border-bottom: 0 !important; }
.tl-src a { font-size: 0.9rem; font-weight: 700; }
.ask .send-row .btn-primary { flex: 1 1 14rem; justify-content: center; }

/* partners band (2026-10-21) */
.partners { --ink: #ffffff; --muted: #dfe3fb; --link: #ffd978; --focus: #ffd978; background: var(--indigo-deep); border-top: 6px solid var(--marigold); color: #f7f1e3; padding: clamp(3rem, 7vw, 6rem) clamp(1.2rem, 5vw, 4rem); }
.partners h2 { color: #f7f1e3; }
.partners .lead { color: #e9e2d0; max-width: 46rem; }
.partner-grid { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 1.2rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .partner-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.partner { border: 1px solid rgba(247, 241, 227, 0.22); border-radius: 0; padding: 1.2rem; display: flex; flex-direction: column; gap: 0.6rem; }
.partner a { color: #f7f1e3; text-decoration: none; display: flex; flex-direction: column; gap: 0.8rem; }
.partner a:hover .partner-name, .partner a:focus-visible .partner-name { text-decoration: underline; }
.partner-logo { height: 84px; display: flex; align-items: center; }
.partner-logo img { max-height: 84px; max-width: 100%; width: auto; height: auto; }
.partner-name { font-weight: 700; font-size: 1.05rem; }
.partner p { margin: 0; color: #e9e2d0; font-size: 0.95rem; line-height: 1.5; }

.partner-logo img { max-width: min(100%, 190px); }
@media (min-width: 1100px) { .partner-name { min-height: 2.7em; } }
.partner p { font-size: 1rem; color: #f1ecdf; }
@media (max-width: 639px) {
  .partner a { flex-direction: row; align-items: center; gap: 1rem; }
  .partner-logo { flex: 0 0 96px; height: 60px; justify-content: center; }
  .partner-logo img { max-height: 60px; max-width: 96px; }
}
.partners { padding-bottom: clamp(3.5rem, 8vw, 6.5rem); }

/* ---------- story page and story links (2026-10-22) ---------- */
.story-cta { margin: 2rem 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.2rem; }
.story-cta p { margin: 0; color: var(--muted); }
.tours-list { grid-column: 1 / -1; margin: 1.5rem 0 0; }
.tours-list ul { margin: 0.6rem 0 0; padding-left: 1.2rem; columns: 1; }
@media (min-width: 900px) { .tours-list ul { columns: 2; column-gap: 2.5rem; } }
.tours-list li { break-inside: avoid; margin: 0 0 0.6rem; line-height: 1.5; }
.story .scr { min-height: 0; }
.story-hero { --ink: #ffffff; --muted: #dfe3fb; --link: #ffd978; --focus: #ffd978; background: var(--indigo); color: #fff; padding: clamp(3rem, 8vw, 6.5rem) clamp(1.2rem, 5vw, 4rem); }
.story-hero h1 { color: #fff; margin: 0.6rem 0 0.8rem; }
.story-hero .lede { max-width: 48rem; color: #eef0fc; }
.year-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.6rem; }
.year-chips a { display: inline-block; padding: 0.45rem 0.9rem; border: 2px solid #ffd978; color: #ffd978; font-weight: 700; text-decoration: none; min-height: 44px; line-height: 1.6; }
.year-chips a:hover, .year-chips a:focus-visible { background: #ffd978; color: #1b1410; }
.story-years, .story-topics, .story-media { padding: clamp(2.5rem, 6vw, 5rem) clamp(1.2rem, 5vw, 4rem); }
.story-years { background: var(--paper); }
.sy { display: grid; gap: 1.2rem 2.5rem; grid-template-columns: minmax(0, 1fr); padding: 2rem 0; border-top: 1px solid var(--line); scroll-margin-top: 1rem; }
@media (min-width: 1100px) { .sy { grid-template-columns: 7rem minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; } }
.sy-year { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); margin: 0; color: var(--cinnabar); }
.sy-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.sy-list li { border-left: 4px solid var(--marigold); padding: 0.1rem 0 0.1rem 1rem; }
.sy-list time { font-family: var(--mono); font-size: 0.85rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }
.sy-list h4 { margin: 0.2rem 0 0.3rem; font-size: 1.1rem; }
.sy-list p { margin: 0; line-height: 1.55; }
.sy-photos { display: grid; gap: 0.8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; }
.sy-photos .xph { margin: 0; }
.sy-photos img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.sy-photos figcaption { font-size: 0.85rem; line-height: 1.4; margin-top: 0.35rem; color: var(--ink); }
.story-topics { --ink: #ffffff; --muted: #e2f3ec; --link: #ffd978; --line: rgb(255 255 255 / 0.34); --focus: #ffd978; background: var(--jade); color: #fff; }
.story-topics h2 { color: #fff; }
.topic-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); margin-top: 1.5rem; }
@media (min-width: 760px) { .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.topic { border: 1px solid var(--line); padding: 1.1rem 1.2rem; }
.topic h3 { margin: 0 0 0.5rem; font-size: 1.1rem; color: #fff; }
.topic p { margin: 0; line-height: 1.55; color: #f3faf7; }
.story-media { --ink: #1b1410; --muted: #2a1d10; --link: #1e2760; background: var(--marigold); color: #1b1410; }
.media-list { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; gap: 0.9rem; max-width: 60rem; }
.media-list li { border-bottom: 1px solid rgb(27 20 16 / 0.3); padding-bottom: 0.8rem; }
.m-kind { display: block; font-family: var(--mono); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; }
.media-list a { color: #1b1410; font-size: 1.05rem; }
.m-outlet { font-weight: 800; }
.story .tl-src a { display: inline-block; min-width: 24px; text-align: center; }

@media (min-width: 1100px) { .sy { grid-template-columns: 9rem minmax(0, 1.1fr) minmax(0, 1fr); } }
.sy-year { white-space: nowrap; }
.sy-photos figure { margin-bottom: 0.6rem; }
.story .tl-src { font-size: 0.9rem; }
.topic { display: flex; flex-direction: column; }

.tours-list h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); margin: 0 0 0.4rem; }
.tours-list ul { padding-left: 1.1rem; }
.tours-list li { margin: 0 0 0.75rem; }
.tours-list .tl-src { font-size: 0.85rem; }

/* ---------- blog: videos and stories (2026-10-22) ---------- */
.blog-list { padding: clamp(2.5rem, 6vw, 5rem) clamp(1.2rem, 5vw, 4rem); background: var(--paper); }
.blog-start { min-height: 0; gap: 0; border-bottom: 1px solid var(--line); }
.blog-reading-path { margin: 0; padding-left: 1.5rem; display: grid; gap: 1rem 3rem; grid-template-columns: minmax(0, 1fr); }
.blog-reading-path li { padding-left: 0.35rem; }
.blog-reading-path li::marker { color: var(--muted); font-family: var(--mono); font-weight: 700; }
.blog-reading-path a { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--font-display); font-weight: 700; line-height: 1.35; color: var(--ink); text-underline-offset: 0.2em; }
.blog-reading-path p { color: var(--muted); margin: 0.1rem 0 0; line-height: 1.5; }
@media (min-width: 700px) { .blog-reading-path { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.blog-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.6rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) { .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.blog-card a { color: var(--ink); text-decoration: none; display: flex; flex-direction: column; gap: 0.45rem; }
.blog-card a:hover .bc-title, .blog-card a:focus-visible .bc-title { text-decoration: underline; }
.blog-thumb { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.bc-meta { font-family: var(--mono); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; color: var(--muted); }
.bc-title { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; line-height: 1.25; }
.blog-card p { margin: 0.4rem 0 0; color: var(--muted); line-height: 1.5; }
.blog-list.more h2 { margin: 0 0 1.4rem; }
.post-meta { color: #eef0fc; font-size: 0.95rem; }
.post-body { background: var(--paper); padding: clamp(2rem, 5vw, 4rem) clamp(1.2rem, 5vw, 4rem); display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1100px) { .post-body { grid-template-columns: minmax(0, 1fr) minmax(0, 46rem); align-items: start; } .blog-video { position: sticky; top: 1.5rem; } }
.blog-video { margin: 0; }
.blog-video .video-facade { position: relative; }
.blog-video .video-play { display: block; width: 100%; padding: 0; border: 0; background: #000; cursor: pointer; position: relative; }
.blog-video .video-play-mark { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50%; background: var(--cinnabar); color: #fff; font-size: 1.8rem; display: grid; place-items: center; }
.blog-video iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; display: block; }
.blog-video figcaption { font-size: 0.9rem; margin-top: 0.5rem; color: var(--muted); }
.post-text { max-width: 46rem; }
.post-text h2 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); margin: 2rem 0 0.6rem; }
.post-text p { line-height: 1.7; font-size: 1.05rem; margin: 0 0 1rem; }
.bq { margin: 1.2rem 0; padding: 0.8rem 1.2rem; border-left: 6px solid var(--marigold); background: var(--tint); }
.bq p { margin: 0 0 0.4rem; font-size: 1.1rem; font-style: italic; }
.bq footer { font-family: var(--mono); font-size: 0.85rem; }
.post-note { font-size: 0.9rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 2rem; }

.stats div:nth-child(4) { border-left-color: var(--indigo); }
.datanote { color: var(--muted); font-size: 0.9rem; margin: 0 0 1rem; }

/* ---------- topic articles and charts ---------- */
.blog-topics { border-bottom: 1px solid var(--line); }
.blog-list h2 { margin: 0 0 0.4rem; }
.lede-s { color: var(--muted); margin: 0 0 1.4rem; }
.topic-body { grid-template-columns: minmax(0, 1fr) !important; justify-items: center; }
.topic-body .post-text { max-width: 48rem; width: 100%; }
.post-text .src { font-family: var(--mono); font-size: 0.8rem; color: var(--muted); white-space: normal; }
.post-text .src a { color: var(--link, var(--indigo)); }
.chart { margin: 1.8rem 0; padding: 1.2rem; background: var(--surface); border: 1px solid var(--line); border-top: 6px solid var(--indigo); }
.chart-h { font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; margin-bottom: 0.8rem; color: var(--ink); }
.chart-svg { width: 100%; height: auto; display: block; }
.chart-svg text { font-family: var(--mono); fill: var(--ink); }
.ch-ax { font-size: 17px; fill: var(--muted) !important; }
.ch-grid { stroke: var(--line); stroke-width: 1; }
.ch-line { fill: none; stroke: var(--indigo); stroke-width: 3; opacity: 0.45; }
.ch-team { fill: var(--cinnabar); stroke: #fff; stroke-width: 1.5; }
.ch-other { fill: var(--surface); stroke: var(--jade); stroke-width: 3; }
.ch-lab { font-size: 18px; font-weight: 700; paint-order: stroke; stroke: var(--surface); stroke-width: 5px; stroke-linejoin: round; }
.ch-lab-line { fill: var(--indigo) !important; }
.ch-legend { list-style: none; margin: 0 0 0.6rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.4rem; font-size: 0.92rem; }
.ch-legend li { display: flex; align-items: center; gap: 0.45rem; }
.lg { display: inline-block; width: 14px; height: 14px; flex: none; }
.lg-team { background: var(--cinnabar); border-radius: 50%; }
.lg-other { border: 3px solid var(--jade); background: var(--surface); }
.lg-line { width: 26px; height: 3px; background: var(--indigo); opacity: 0.6; }
.chart-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.chart-scroll .chart-svg { min-width: 680px; }
.chart-svg a:hover circle, .chart-svg a:focus circle, .chart-svg a:hover rect { stroke: var(--ink); stroke-width: 3; }
.chart-note { font-size: 0.9rem; color: var(--muted); margin: 0.8rem 0 0; line-height: 1.5; }
.chart-list { margin-top: 0.8rem; font-size: 0.95rem; }
.chart-list summary { cursor: pointer; font-weight: 700; }
.chart-list ol { padding-left: 1.3rem; margin: 0.6rem 0 0; }
.chart-list li { margin: 0.35rem 0; line-height: 1.45; }
.cl-d { font-family: var(--mono); font-size: 0.85rem; color: var(--muted); }
.ck-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.ck-bars li { display: grid; grid-template-columns: 5.5rem 1fr 2.5rem; align-items: center; gap: 0.6rem; }
.ck-bars li > .ck-bar { display: block; height: 1.4rem; background: var(--muted); opacity: 0.55; justify-self: start; }
.ck-bars li > .ck-recent { background: var(--jade); opacity: 1; }
.ck-y, .ck-n { font-family: var(--mono); font-size: 0.95rem; }

/* ---------- visitor FAQ ---------- */
.faq-group { margin: 0 0 2.4rem; scroll-margin-top: 90px; }
.faq-group h2 { scroll-margin-top: 90px; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item summary { cursor: pointer; padding: 0.9rem 0.2rem; font-weight: 700; font-size: 1.08rem; line-height: 1.4; min-height: 44px; }
.faq-item summary:hover, .faq-item summary:focus-visible { color: var(--cinnabar); }
.faq-a { padding: 0 0.2rem 1rem; }
.faq-a p { margin: 0 0 0.6rem; }
.faq-a .src { font-family: var(--mono); font-size: 0.82rem; color: var(--muted); }
.faq-confirm { display: inline-block; font-size: 0.88rem; padding: 0.2rem 0.6rem; background: var(--tint); border-left: 4px solid var(--marigold); }

/* WHITE PAPER reading page (/whitepaper/): scoped to .wp and .wp-thanks */
.wp-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin: 1.4rem 0 0; }
.wp-actions .btn { text-decoration: none; padding: 0.8rem 1.3rem; display: inline-block; }
.wp-actions .btn-ghost { color: #fff; border: 1px solid #fff; }
.wp-wrap .wp { max-width: 70ch; width: 100%; font-size: 1.0625rem; line-height: 1.7; overflow-wrap: break-word; }
.wp h1, .wp h2, .wp h3, .wp h4 { font-family: var(--font-display); color: var(--indigo); letter-spacing: -0.02em; line-height: 1.15; }
.wp h1 { font-size: clamp(1.6rem, 4vw, 2.3rem); margin: 0 0 0.6rem; }
.wp h2 { font-size: clamp(1.25rem, 2.2vw, 1.6rem); margin: 2.4rem 0 0.7rem; padding-top: 1.1rem; border-top: 4px solid var(--marigold); }
.wp h2.wp-title { font-size: clamp(1.6rem, 4vw, 2.3rem); margin: 0 0 0.6rem; padding-top: 0; border-top: 0; }
.wp h3 { font-size: 1.1rem; margin: 1.6rem 0 0.5rem; }
.wp p, .wp li { font-size: 1.0625rem; line-height: 1.7; margin: 0 0 1rem; hyphens: auto; }
.wp ol, .wp ul { padding-left: 1.4rem; margin: 0 0 1rem; }
.wp li { margin-bottom: 0.5rem; }
.wp a { color: var(--link); text-underline-offset: 3px; overflow-wrap: anywhere; }
.wp figure { margin: 1.6rem 0; padding: 0; }
.wp figure img, .wp img { display: block; max-width: 100%; height: auto; margin: 0 auto; background: #fff; }
.wp figcaption { font-size: 0.9rem; color: var(--muted); margin-top: 0.5rem; text-align: center; }
.wp .abstract, .wp .authors, .wp .byline { color: var(--muted); }
.wp .eq, .wp .equation, .wp pre, .wp code { font-family: var(--mono); font-size: 0.92rem; }
.wp .eq, .wp .equation, .wp pre { display: block; overflow-x: auto; max-width: 100%; margin: 1.2rem 0; padding: 0.8rem 1rem; background: var(--tint); border-left: 4px solid var(--indigo); white-space: pre-wrap; }
.wp table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1.2rem 0; }
.wp td, .wp th { border: 1px solid var(--line); padding: 0.35rem 0.6rem; }
.wp sub, .wp sup { line-height: 0; }
.wp-thanks { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.4rem 1.6rem; padding: calc(0.8rem + 6px) var(--pad) 0.9rem; background: var(--indigo); color: #fff; font-size: 0.95rem; line-height: 1.35; }
.wp-thanks::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--stripes); }
.wp-thanks .say strong { font-family: var(--font-display); font-weight: 800; letter-spacing: -0.02em; font-size: 1.05rem; }
.wp-thanks .say span { color: rgb(255 255 255 / 0.82); }
.wp-thanks .links { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.3rem 1.4rem; }
.wp-thanks a { color: #fff; font-weight: 600; text-decoration-color: var(--marigold); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.wp-thanks a:hover { color: var(--marigold); }
.wp-thanks .hash { font-family: var(--mono); font-size: 0.78rem; color: rgb(255 255 255 / 0.75); }
.wp-thanks .quiet { display: inline-flex; gap: 1rem; }
.wp-thanks .quiet a { font-weight: 500; font-size: 0.85rem; color: rgb(255 255 255 / 0.75); text-decoration-thickness: 1px; text-decoration-color: rgb(255 255 255 / 0.4); }
@media (max-width: 700px) { .wp-thanks { flex-direction: column; text-align: center; gap: 0.3rem; } .wp h2 { margin-top: 2rem; } }
/* Shared rules for the white paper fragment (text/<lang>.html). Paste inside each
   site's own <style>, after its .wp rules; uses inherited colours and fonts only. */
.wp-paper .wp-author, .wp-paper .wp-translator { text-align: center; }
.wp-paper .wp-translator { font-size: .9em; opacity: .85; }
.wp-paper .wp-abstract { margin: 1.4em 0 1.8em; padding: .9em 1.1em; border-left: 3px solid currentColor; font-size: .96em; }
.wp-paper .wp-abstract p { margin: 0; }
.wp-paper .wp-fig { margin: 1.75em auto; text-align: center; }
.wp-paper .wp-fig img { display: block; max-width: 100%; height: auto; margin: 0 auto; background: #fff; padding: 6px; box-sizing: border-box; }
.wp-paper .wp-fig figcaption { font-size: .85em; margin-top: .4em; }
.wp-paper math[display="block"] { display: block; margin: 1.2em 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; font-size: 1.12em; }
.wp-paper pre { max-width: 100%; overflow-x: auto; font-size: .82em; line-height: 1.45; padding: .8em 1em; }
.wp-paper .wp-refs, .wp-paper .wp-fns { font-size: .92em; overflow-wrap: anywhere; }
.wp-paper .wp-tnote { margin-top: 2em; font-size: .92em; }
.wp-paper .wp-fnref a { text-decoration: none; }
