:root {
  --ink: #161616;
  --muted: #6f6d67;
  --paper: #f5f2ea;
  --glass: rgba(248, 246, 240, 0.76);
  --line: rgba(23, 23, 22, 0.13);
  --shadow: 0 28px 70px rgba(37, 32, 24, 0.2), 0 5px 18px rgba(37, 32, 24, 0.11);
  --yellow: #ffd447;
  --coral: #ff745f;
  --mint: #5dd9a7;
  --blue: #72a8ff;
  --lilac: #a98bf6;
  --editorial-rail: 380px;
  --editorial-gutter: 70px;
}

* { box-sizing: border-box; }

html { margin: 0; min-height: 100%; scroll-behavior: smooth; }
body { margin: 0; min-height: 100%; overflow-x: hidden; }

body {
  color: var(--ink);
  background: #d8d2c6;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content:"";
  position:fixed;
  z-index:30000;
  inset:0;
  opacity:.035;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
.skip-link { position:fixed; z-index:40000; top:8px; left:8px; padding:10px 14px; color:#fff; background:#171717; transform:translateY(-150%); }
.skip-link:focus { transform:none; }

body.desktop-mode { overflow: hidden; }

.editorial-site {
  min-height: 100vh;
  color: #161616;
  background:var(--paper);
  transition:background .45s ease;
}
body[data-site-page="historia"] { --page-accent:#ff927e; }
body[data-site-page="proyectos"] { --page-accent:#b9f5d3; }
body[data-site-page="cuaderno"] { --page-accent:#b8a0f4; }
body[data-site-page="archivo"] { --page-accent:#f4d34f; }
body[data-site-page="charlas"] { --page-accent:#9ebfff; }
.editorial-site [data-page-view][hidden] { display:none !important; }
body:not([data-site-page="home"]) .editorial-site main { min-height:calc(100svh - 150px); padding-top:50px; }

.site-progress { position:fixed; z-index:21000; top:0; left:0; width:100%; height:2px; pointer-events:none; }
.site-progress span { display:block; width:100%; height:100%; background:var(--page-accent,#f4d34f); transform:scaleX(var(--scroll-progress,0)); transform-origin:left; }
.exhibition-index { position:fixed; z-index:50; left:18px; top:50%; display:flex; align-items:center; gap:10px; transform:translateY(-50%) rotate(-90deg); transform-origin:left center; pointer-events:none; }
.exhibition-index span,.exhibition-index strong { font:500 7px/1 "DM Mono",monospace; letter-spacing:.14em; }
.exhibition-index i { width:42px; height:1px; background:rgba(20,20,20,.28); }

body.desktop-mode .editorial-site { display: none; }

.section-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }

.island-wrap {
  position: fixed;
  z-index: 20000;
  top: 16px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  gap:8px;
  pointer-events: none;
}

.dynamic-island {
  height: 54px;
  padding: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
  color: #171717;
  background: rgba(244, 243, 240, .84);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  box-shadow: 0 16px 36px rgba(30, 27, 22, .18);
  backdrop-filter: blur(22px) saturate(140%);
  pointer-events: auto;
}

.island-brand {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #171717;
  background: rgba(255,255,255,.88);
  border-radius: 50%;
  text-decoration: none;
}
.island-brand img { width:31px; height:31px; display:block; }

.island-links { display: flex; align-items: center; padding: 0 3px; }
.island-links a {
  padding: 9px 12px;
  color: #6f6c67;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s, background .2s, box-shadow .2s, transform .2s;
}
.island-links a:hover { color:#171717; transform:translateY(-1px); }
.island-links a.active { color:#171717; background:#fff; box-shadow:0 5px 14px rgba(30,27,22,.1); }

.island-desktop {
  height: 42px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f8f5ee;
  border: 0;
  border-radius: 999px;
  background: #171717;
  font-size: 10px;
  cursor: pointer;
}
.island-status { width: 7px; height: 7px; border-radius: 50%; background: #3ee38a; box-shadow: 0 0 0 4px rgba(62,227,138,.12); }
.island-apolo { height:54px; padding:6px 15px 6px 7px; display:flex; align-items:center; gap:8px; color:#171717; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(244,243,240,.88); box-shadow:0 16px 36px rgba(30,27,22,.14); font-size:10px; font-weight:750; text-decoration:none; pointer-events:auto; backdrop-filter:blur(22px) saturate(140%); transition:transform .2s,box-shadow .2s; }
.apolo-symbol { width:40px; height:40px; display:block; }
.apolo-label { line-height:1; }
.apolo-arrow { font-size:13px; line-height:1; }
.island-apolo:hover { transform:translateY(-2px); box-shadow:0 20px 38px rgba(30,27,22,.2); }

.site-hero {
  min-height: 760px;
  padding: 155px 0 90px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 60px;
}

.site-kicker, .section-number {
  margin: 0 0 24px;
  color: #77746d;
  font: 500 9px/1 "DM Mono", monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hero-identity { margin-bottom:24px; display:flex; align-items:center; }
.hero-identity .site-kicker { margin:0; }

.hero-intro h1 {
  max-width: 640px;
  margin: 0;
  font: 400 clamp(72px, 8vw, 124px)/.82 "Newsreader", serif;
  letter-spacing: -.055em;
}
.hero-intro h1.hero-statement { max-width:670px; font-size:clamp(64px,6.7vw,100px); line-height:.86; }
.hero-intro h1 em { display: block; font-weight: 400; }
.hero-intro h1.hero-statement em { display:inline; }
.hero-no-break { white-space:nowrap; }
.hero-lead { max-width: 570px; margin: 38px 0 0; color: #6e6b65; font-size: 15px; line-height: 1.65; }
.hero-actions { margin-top: 30px; display: flex; align-items: center; gap: 20px; }

.site-button {
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}
.dark-button { color: #fff; border: 1px solid #181818; background: #181818; }
.text-button { padding-inline: 3px; color: #181818; border: 0; background: transparent; }
.outline-button { color: #181818; border: 1px solid rgba(20,20,20,.25); background: transparent; }
.large-button { min-height: 54px; padding-inline: 25px; font-size: 12px; }

.hero-playground {
  position: relative;
  height: 520px;
  overflow: hidden;
  border: 1px solid rgba(20,20,20,.09);
  border-radius: 42px;
  background:#dedbd3;
}
.hero-playground::after { content:""; position:absolute; inset:0; opacity:.17; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E"); }
.hero-portrait { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center; }
.hero-orbit { z-index:1; position:absolute; left:50%; top:50%; border:1px solid rgba(255,255,255,.45); border-radius:50%; box-shadow:0 0 0 1px rgba(20,20,20,.05); transform:translate(calc(-50% + var(--orbit-x,0px)),calc(-50% + var(--orbit-y,0px))) rotate(-13deg); transition:transform .35s ease-out; }
.orbit-one { width:78%; height:47%; }
.orbit-two { width:48%; height:76%; transform:translate(calc(-50% + var(--orbit-x,0px)),calc(-50% + var(--orbit-y,0px))) rotate(38deg); }
.float-chip {
  position:absolute;
  z-index:2;
  left:var(--x);
  top:var(--y);
  padding:11px 16px;
  border:1px solid rgba(20,20,20,.12);
  border-radius:999px;
  background:white;
  box-shadow:0 10px 20px rgba(40,35,25,.1);
  font:600 9px/1 "DM Mono",monospace;
  transform:rotate(var(--r));
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.float-chip:active { cursor:grabbing; }
.chip-yellow { background:#f6d24f; }
.chip-mint { background:#79dfb6; }
.chip-coral { background:#ff8d77; }
.chip-blue { background:#8fb8ff; }
.chip-lilac { background:#b8a0f4; }
.play-hint { z-index:3; position:absolute; left:20px; bottom:18px; margin:0; padding:8px 10px; color:#171717; border:1px solid rgba(255,255,255,.45); border-radius:9px; background:rgba(250,248,242,.72); backdrop-filter:blur(8px); font:500 7px/1.5 "DM Mono",monospace; text-transform:uppercase; }

.reveal { opacity:0; transform:translateY(34px); transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1); transition-delay:var(--reveal-delay,0ms); }
.reveal.reveal-side { transform:translateX(45px); }
.reveal.in-view { opacity:1; transform:none; }
.museum-ticker { width:100%; padding:18px 0; display:flex; overflow:hidden; color:#f5f1e8; background:#171717; border-block:1px solid #171717; font:400 clamp(28px,4vw,58px)/1 "Newsreader",serif; white-space:nowrap; }
.museum-ticker > div { min-width:max-content; animation:ticker-run 28s linear infinite; }
@keyframes ticker-run { to { transform:translateX(-100%); } }
@keyframes page-rise { from { opacity:0; transform:translateY(22px); } }
body.site-ready main > [data-page-view]:not([hidden]) { animation:page-rise .65s cubic-bezier(.2,.8,.2,1) both; }

.home-projects { padding:105px 0 120px; border-top:1px solid rgba(20,20,20,.12); }
.home-projects-heading { margin-bottom:55px; display:grid; grid-template-columns:1fr 390px; gap:70px; align-items:end; }
.home-projects-heading h2 { margin:12px 0 0; font:400 clamp(52px,6vw,82px)/.88 "Newsreader",serif; letter-spacing:-.045em; }
.home-projects-heading h2 em { font-weight:400; }
.home-projects-heading > div:last-child p { margin:0 0 22px; color:#74716a; font-size:13px; line-height:1.7; }
.home-projects-heading a { color:#171717; font-size:11px; font-weight:750; text-decoration:none; }
.home-projects-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:14px; }
.home-project-card { min-width:0; padding:14px; overflow:hidden; border:1px solid rgba(20,20,20,.12); border-radius:24px; background:#ebe8e1; }
.home-project-apolo { grid-row:1 / 3; padding:18px; border-color:rgba(255,112,92,.46); }
.home-project-meta { padding:3px 4px 14px; display:flex; justify-content:space-between; gap:20px; color:#74716a; font:500 8px/1 "DM Mono",monospace; }
.home-project-stage { min-height:150px; padding:22px; position:relative; overflow:hidden; border-radius:15px; }
.home-project-stage::after { content:""; position:absolute; inset:-30%; opacity:0; background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.2),transparent 65%); transform:translateX(-70%) rotate(8deg); transition:opacity .2s,transform .8s cubic-bezier(.2,.8,.2,1); }
.home-project-card:hover .home-project-stage::after { opacity:1; transform:translateX(70%) rotate(8deg); }
.home-project-stage strong { position:absolute; left:22px; top:50%; transform:translateY(-50%); }
.home-project-stage i { position:absolute; left:22px; bottom:19px; font:400 14px/1 "Newsreader",serif; }
.home-apolo-stage { min-height:300px; color:#141414; background:#ff705c; }
.home-apolo-stage strong { left:28px; font:750 clamp(82px,10vw,142px)/.8 "Manrope",sans-serif; letter-spacing:-.095em; }
.home-apolo-stage i { left:28px; bottom:24px; font-size:17px; }
.home-apolo-stage > span { position:absolute; right:24px; top:22px; padding:8px 10px; border:1px solid rgba(20,20,20,.25); border-radius:999px; font:600 7px/1 "DM Mono",monospace; }
.home-legacy-stage { color:#b9f5d3; background:#111814; }
.home-legacy-stage strong { font:650 70px/.8 "DM Mono",monospace; letter-spacing:-.13em; }
.home-time-stage { color:#151515; background:#9ebfff; }
.home-time-stage strong { font:300 48px/.8 "DM Mono",monospace; letter-spacing:-.1em; }
.home-project-copy { padding:20px 5px 4px; display:flex; justify-content:space-between; gap:28px; align-items:flex-end; }
.home-project-copy h3 { margin:0 0 8px; font:400 30px/.95 "Newsreader",serif; }
.home-project-copy p { max-width:570px; margin:0; color:#74716a; font-size:10px; line-height:1.55; }
.home-project-copy button,.home-project-copy a { padding:0; flex:none; color:#171717; border:0; background:none; font:750 10px/1.2 "Manrope",sans-serif; text-decoration:none; cursor:pointer; }
.home-project-links { display:flex; gap:17px; white-space:nowrap; }
.home-project-secondary .home-project-copy { padding-top:15px; }
.home-project-secondary .home-project-copy h3 { font-size:24px; }
.home-project-secondary .home-project-copy p { max-width:290px; }

.manifesto { padding: 120px 0 145px; border-top: 1px solid rgba(20,20,20,.12); }
.manifesto-copy { display:grid; grid-template-columns:1.35fr .65fr; gap:90px; align-items:end; }
.manifesto-copy > p:first-child { margin:0; font:400 clamp(40px,5.2vw,72px)/1 "Newsreader",serif; letter-spacing:-.035em; }
.manifesto-aside { margin:0; color:#74716a; font-size:13px; line-height:1.75; }

.museum-entrance { padding:120px 0 145px; border-top:1px solid rgba(20,20,20,.12); }
.museum-intro { max-width:850px; }
.museum-intro h2 { margin:0; font:400 clamp(58px,7.5vw,104px)/.88 "Newsreader",serif; letter-spacing:-.045em; }
.museum-intro > p:last-child { max-width:590px; margin:35px 0 70px auto; color:#74716a; font-size:13px; line-height:1.7; }
.museum-rooms { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:12px; }
.museum-room { min-height:360px; padding:24px; position:relative; display:flex; flex-direction:column; overflow:hidden; border-radius:20px; color:#171717; text-decoration:none; transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition:transform .22s ease,box-shadow .22s ease; }
.museum-room::after { content:attr(data-ghost); position:absolute; right:-8px; top:25px; opacity:.09; font:400 180px/.8 "Newsreader",serif; }
.museum-room:hover { box-shadow:0 22px 45px rgba(25,22,18,.14); }
.museum-room span { font:500 8px/1 "DM Mono",monospace; }
.museum-room strong { margin:auto 0 0; font:400 34px/.95 "Newsreader",serif; }
.museum-room i { margin-top:25px; font-size:10px; font-style:normal; font-weight:700; }
.room-history { color:#b9f5d3; background:#111814; }
.room-archive { background:#f4d34f; }
.room-talks { background:#ff927e; }

.history-page,.talks-page { padding:90px 0 140px; }
.history-hero { min-height:650px; display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; }
.history-hero img { width:100%; aspect-ratio:.92; object-fit:cover; border-radius:30px; filter:saturate(.88); }
.history-hero h1,.talks-hero h1 { margin:0; font:400 clamp(58px,6.8vw,96px)/.87 "Newsreader",serif; letter-spacing:-.05em; }
.history-hero h1 em,.talks-hero h1 em { font-weight:400; }
.history-hero > div > p:not(.section-number) { max-width:620px; margin:35px 0; color:#74716a; font-size:13px; line-height:1.75; }
.history-actions { display:flex; gap:10px; }
.history-statement { padding:130px 0; display:grid; grid-template-columns:1.25fr .75fr; gap:90px; align-items:end; border-top:1px solid rgba(20,20,20,.12); }
.history-statement p:first-child { margin:0; font:400 clamp(44px,5.7vw,78px)/.94 "Newsreader",serif; letter-spacing:-.035em; }
.history-statement p:last-child { margin:0; color:#74716a; font-size:13px; line-height:1.75; }
.commander-role { margin-bottom:125px; }
.commander-role-main { min-height:570px; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border-radius:28px 28px 0 0; background:#e9e6df; }
.commander-role-copy { padding:60px; display:flex; flex-direction:column; align-items:flex-start; }
.commander-role-copy h2 { max-width:650px; margin:18px 0 30px; font:400 clamp(52px,5.4vw,76px)/.91 "Newsreader",serif; letter-spacing:-.045em; }
.commander-role-copy > p:not(.section-number) { max-width:540px; margin:0; color:#74716a; font-size:13px; line-height:1.72; }
.commander-role-copy > a { margin-top:auto; padding-bottom:7px; color:#171717; border-bottom:1px solid currentColor; font-size:10px; font-weight:700; text-decoration:none; }
.commander-role-visual { min-height:570px; margin:0; position:relative; overflow:hidden; background:var(--role-color,#ff705c); transition:background .35s; }
.commander-role-visual::after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(11,11,11,.7)); }
.commander-role-visual img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 35%; filter:saturate(.82) contrast(1.02); transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.commander-role:hover .commander-role-visual img { transform:scale(1.025); }
.commander-role-placeholder { position:absolute; left:30px; top:28px; color:rgba(23,23,23,.72); font:600 clamp(48px,6vw,86px)/.82 "DM Mono",monospace; letter-spacing:-.1em; text-transform:uppercase; }
.commander-role-visual figcaption { max-width:420px; position:absolute; left:32px; right:32px; bottom:30px; z-index:1; color:#fff; font:400 25px/1.08 "Newsreader",serif; transition:opacity .16s,transform .28s cubic-bezier(.2,.8,.2,1); }
.commander-role-visual figcaption.is-changing { opacity:0; transform:translateY(8px); }
.commander-role-tabs { display:grid; grid-template-columns:repeat(4,1fr); }
.commander-role-tabs button { min-height:168px; padding:22px; display:flex; flex-direction:column; align-items:flex-start; color:#171717; border:1px solid rgba(20,20,20,.1); border-top:0; border-right:0; background:#f0ede7; text-align:left; cursor:pointer; transition:color .25s,background .25s,transform .25s; }
.commander-role-tabs button:first-child { border-radius:0 0 0 22px; }
.commander-role-tabs button:last-child { border-right:1px solid rgba(20,20,20,.1); border-radius:0 0 22px 0; }
.commander-role-tabs button:hover { transform:translateY(-5px); }
.commander-role-tabs button.is-active { color:#b9f5d3; background:#111814; }
.commander-role-tabs button span { color:#77736c; font:500 8px/1 "DM Mono",monospace; }
.commander-role-tabs button.is-active span,.commander-role-tabs button.is-active small { color:rgba(185,245,211,.58); }
.commander-role-tabs button strong { margin:auto 0 12px; font:400 31px/1 "Newsreader",serif; }
.commander-role-tabs button small { color:#77736c; font:500 8px/1.35 "DM Mono",monospace; }
.workbench { padding:115px 0 125px; border-top:1px solid rgba(20,20,20,.14); }
.workbench-heading { margin-bottom:58px; display:grid; grid-template-columns:1fr 380px; gap:70px; align-items:end; }
.workbench-heading h2 { margin:12px 0 0; font:400 clamp(48px,5.4vw,76px)/.9 "Newsreader",serif; letter-spacing:-.04em; }
.workbench-heading h2 em { font-weight:400; }
.workbench-heading > p { margin:0; color:#74716a; font-size:13px; line-height:1.7; }
.workbench-layout { display:block; }
.tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tool-grid article { min-height:84px; padding:14px; display:flex; align-items:center; gap:14px; border:1px solid rgba(20,20,20,.08); border-radius:17px; background:#ebe8e1; transition:transform .2s,box-shadow .2s; }
.tool-grid article:hover { transform:translateY(-3px); box-shadow:0 15px 30px rgba(30,27,22,.09); }
.tool-icon { width:50px; height:50px; flex:none; display:grid; place-items:center; overflow:hidden; border-radius:13px; color:#fff; background:#171717; font:650 13px/1 "DM Mono",monospace; box-shadow:0 8px 18px rgba(25,22,18,.11); }
.tool-icon img { width:100%; height:100%; object-fit:cover; }
.tool-figma { color:#171717; background:#ff927e; }
.tool-adobe { color:#171717; background:#f4d34f; }
.tool-codex { color:#b9f5d3; background:#111814; }
.tool-chatgpt { color:#171717; background:#79dfb6; }
.tool-plesk { color:#171717; background:#9ebfff; }
.tool-paper { color:#171717; background:#f7f4ed; }
.tool-grid h3 { margin:0 0 6px; font-size:13px; }
.tool-grid p { margin:0; color:#77736c; font-size:9px; line-height:1.4; }
.practice-map { margin-top:45px; padding:28px 0; display:grid; grid-template-columns:150px 1fr 310px; gap:35px; align-items:center; color:#171717; border-block:1px solid rgba(20,20,20,.14); }
.practice-cloud { margin:0; display:flex; flex-wrap:wrap; gap:8px; }
.practice-cloud span,.territory-list span { padding:10px 13px; border:1px solid currentColor; border-radius:999px; font:500 8px/1 "DM Mono",monospace; }
.practice-map > p:last-child { max-width:310px; margin:0; color:#74716a; font-size:11px; line-height:1.65; }
.history-timeline { border-top:1px solid rgba(20,20,20,.14); }
.history-timeline article { padding:35px 0; display:grid; grid-template-columns:220px 1fr; gap:40px; border-bottom:1px solid rgba(20,20,20,.14); }
.history-timeline time { color:#77736c; font:500 9px/1 "DM Mono",monospace; }
.history-timeline h2 { margin:0 0 10px; font:400 38px/1 "Newsreader",serif; }
.history-timeline p { max-width:690px; margin:0; color:#74716a; font-size:12px; line-height:1.65; }
.history-timeline .timeline-now { margin-top:12px; padding:35px; color:#b9f5d3; border:0; border-radius:20px; background:#111814; }
.history-timeline .timeline-now time,.history-timeline .timeline-now p { color:rgba(185,245,211,.66); }
.history-education { padding:130px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.history-education h2 { margin:0; font:400 64px/.9 "Newsreader",serif; letter-spacing:-.04em; }
.history-education ul { margin:0; padding:0; list-style:none; }
.history-education li { padding:24px 0; border-top:1px solid rgba(20,20,20,.14); font-size:13px; line-height:1.5; }
.history-education li:last-child { border-bottom:1px solid rgba(20,20,20,.14); }
.history-education li span { display:block; margin-bottom:8px; color:#77736c; font:500 8px/1 "DM Mono",monospace; }
.things-portal { margin-top:120px; padding:34px; display:grid; grid-template-columns:1fr 420px; gap:70px; align-items:center; overflow:hidden; color:#171717; border:1px solid rgba(20,20,20,.1); border-radius:28px; background:#ebe8e1; text-decoration:none; }
.things-portal h2 { margin:15px 0 22px; font:400 clamp(44px,4.8vw,68px)/.92 "Newsreader",serif; letter-spacing:-.04em; }
.things-portal h2 em { font-weight:400; }
.things-portal > div:first-child > p:not(.section-number) { max-width:570px; margin:0 0 28px; color:#74716a; font-size:12px; line-height:1.65; }
.things-portal > div:first-child > span { font-size:10px; font-weight:750; }
.things-portal-preview { min-height:310px; display:grid; grid-template-columns:1fr 1fr; gap:8px; transform:rotate(2deg); transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.things-portal:hover .things-portal-preview { transform:rotate(0) scale(1.015); }
.things-portal-preview i { position:relative; display:grid; place-items:center; overflow:hidden; border-radius:17px; font-style:normal; }
.portal-vinyl { background:#f4d34f; }
.portal-vinyl::after { content:""; width:92px; height:92px; border-radius:50%; background:repeating-radial-gradient(#171717 0 3px,#292929 4px 6px); }
.portal-bike { color:#171717; background:#8fbcff; font:600 21px/1 "DM Mono",monospace; }
.portal-shoe { background:#ff927e; }
.portal-shoe::after { content:""; width:105px; height:42px; border-radius:70% 30% 35% 55%; background:#171717; transform:rotate(-16deg); box-shadow:16px 8px 0 rgba(255,255,255,.35); }
.portal-lines { background:#1a1a19; }
.portal-lines::after { content:""; position:absolute; inset:30px 18px; opacity:.55; background:repeating-linear-gradient(175deg,transparent 0 11px,#fff 12px 13px); }

/* Una sola línea de arranque para los textos editoriales de apoyo. */
.home-projects-heading,
.manifesto-copy,
.history-statement,
.workbench-heading,
.history-education,
.section-heading,
.project-territories,
.talks-hero {
  grid-template-columns:minmax(0,1fr) var(--editorial-rail);
  column-gap:var(--editorial-gutter);
}

.talks-hero { min-height:560px; display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:end; }
.talks-hero > p { max-width:460px; margin:0 0 15px; color:#74716a; font-size:13px; line-height:1.75; }
.talks-years { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.talks-years article { min-height:310px; padding:25px; display:grid; grid-template-columns:70px 1fr; gap:18px; border:1px solid rgba(20,20,20,.13); border-radius:20px; background:#ebe8e1; }
.talks-years .talk-featured { grid-column:1/-1; min-height:410px; color:#b9f5d3; border:0; background:#111814; }
.talks-years time { font:500 9px/1 "DM Mono",monospace; }
.talks-years article div { display:flex; flex-direction:column; }
.talks-years span { color:#77736c; font:500 8px/1.4 "DM Mono",monospace; }
.talks-years .talk-featured span,.talks-years .talk-featured p { color:rgba(185,245,211,.64); }
.talks-years h2 { margin:auto 0 12px; font:400 39px/.95 "Newsreader",serif; }
.talks-years p { margin:0; color:#74716a; font-size:11px; line-height:1.6; }
.teaching-block { margin-top:120px; padding:70px; display:grid; grid-template-columns:.5fr 1fr; gap:60px; color:#171717; border-radius:25px; background:#9ebfff; }
.teaching-block h2 { margin:0 0 25px; font:400 65px/.9 "Newsreader",serif; }
.teaching-block div p { max-width:600px; margin:0; font-size:13px; line-height:1.7; }

.archive-grid { margin-bottom:130px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.archive-record { min-height:330px; padding:25px; display:flex; flex-direction:column; color:#171717; border:0; border-radius:20px; text-align:left; background:#e5e1d8; cursor:pointer; transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition:transform .22s,box-shadow .22s; }
.archive-record:hover { box-shadow:0 22px 45px rgba(25,22,18,.13); }
.archive-record span { font:500 8px/1 "DM Mono",monospace; }
.archive-record strong { margin:auto 0 8px; font:400 48px/.9 "Newsreader",serif; }
.archive-record p { margin:0; color:rgba(20,20,20,.58); font-size:11px; }
.archive-record i { margin-top:30px; font-size:10px; font-style:normal; font-weight:700; }
.record-magudu { background:#f4d34f; }
.record-snack { background:#ff927e; }
.record-aad { background:#9ebfff; }
.record-multiple { color:#b9f5d3; background:#111814; }
.record-multiple p { color:rgba(185,245,211,.62); }
.archive-personal-heading { padding-top:110px; border-top:1px solid rgba(20,20,20,.12); }

.projects-section { padding: 120px 0; border-top:1px solid rgba(20,20,20,.12); }
.section-heading { margin-bottom:70px; display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:end; }
.section-heading h2,.section-heading h1,.log-intro h2,.log-intro h1,.desktop-invitation h2 { margin:0; font:400 clamp(52px,6vw,84px)/.9 "Newsreader",serif; letter-spacing:-.04em; }
.section-heading > p { margin:0 0 5px; color:#74716a; font-size:13px; line-height:1.65; }
.project-exhibition-note { margin-bottom:18px; padding:18px 0; display:grid; grid-template-columns:220px 1fr; gap:40px; border-block:1px solid rgba(20,20,20,.14); }
.project-exhibition-note span,.project-chapter span { color:#77736c; font:500 8px/1 "DM Mono",monospace; }
.project-exhibition-note p { max-width:590px; margin:0; font:400 20px/1.25 "Newsreader",serif; }
.project-list { display:grid; grid-template-columns:1.08fr .92fr; gap:16px; align-items:start; }
.site-project { min-width:0; padding:18px; border:1px solid rgba(20,20,20,.12); border-radius:25px; background:#ebe8e1; }
.site-project.project-primary { grid-column:1/-1; padding:22px; display:grid; grid-template-columns:1.35fr .65fr; border-color:rgba(255,112,92,.6); box-shadow:0 22px 60px rgba(50,38,28,.08); }
.site-project.project-primary .project-top { grid-column:1/-1; }
.site-project.project-primary .project-copy { padding:35px 28px 12px; align-items:flex-start; flex-direction:column; justify-content:flex-end; }
.project-chapter { grid-column:1/-1; padding:72px 0 18px; display:grid; grid-template-columns:180px 1fr 360px; gap:28px; align-items:center; }
.project-chapter i { height:1px; background:rgba(20,20,20,.17); }
.project-chapter p { margin:0; color:#74716a; font-size:11px; line-height:1.55; }
.project-time { margin-top:86px; }
.project-top { padding:2px 4px 16px; display:flex; justify-content:space-between; color:#74716a; font:500 8px/1 "DM Mono",monospace; }
.project-visual { min-height:400px; padding:35px; position:relative; overflow:hidden; border-radius:16px; }
.site-project:not(.project-primary) .project-visual { min-height:340px; }
.project-time .project-visual { min-height:270px; }
.project-visual::after { content:""; position:absolute; inset:-20%; opacity:0; background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.2),transparent 65%); transform:translateX(-70%) rotate(8deg); transition:opacity .2s,transform .8s cubic-bezier(.2,.8,.2,1); }
.site-project:hover .project-visual::after { opacity:1; transform:translateX(70%) rotate(8deg); }
.project-visual > span,.project-visual > i { transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.site-project:hover .project-visual > span { transform:translate(-50%,-50%) scale(1.04); }
.site-project:hover .project-visual > i { transform:translateX(8px); }
.project-visual > span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font:500 clamp(90px,15vw,210px)/.8 "Newsreader",serif; letter-spacing:-.08em; }
.project-visual > i { position:absolute; left:30px; bottom:25px; font:400 17px/1 "Newsreader",serif; }
.legacy-visual { color:#b9f5d3; background:#111814; }
.legacy-visual > span { font-family:"DM Mono",monospace; font-weight:600; letter-spacing:-.14em; }
.apolo-visual { color:#0e0e0e; background:#ff705c; }
.apolo-visual > span { font-family:"Manrope",sans-serif; font-weight:700; letter-spacing:-.09em; }
.time-visual { color:#121212; background:#9ebfff; }
.time-visual > span { font-family:"DM Mono",monospace; font-weight:300; letter-spacing:-.1em; }
.project-copy { padding:23px 5px 7px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.project-copy h3 { margin:0 0 7px; font:400 34px/1 "Newsreader",serif; }
.project-copy p { max-width:600px; margin:0; color:#74716a; font-size:11px; line-height:1.55; }
.project-copy button,.project-copy a { flex:none; padding:9px 0; color:#181818; border:0; border-bottom:1px solid #181818; background:transparent; font-size:10px; font-weight:650; text-decoration:none; cursor:pointer; }
.project-actions { display:flex; align-items:center; gap:18px; }
.project-territories { margin-top:120px; padding-top:110px; display:grid; grid-template-columns:1fr 1fr; gap:90px; border-top:1px solid rgba(20,20,20,.14); }
.project-territories h2 { margin:12px 0 0; font:400 clamp(44px,5vw,70px)/.92 "Newsreader",serif; letter-spacing:-.04em; }
.project-territories h2 em { font-weight:400; }
.project-territories > div:last-child > p { max-width:500px; margin:0 0 35px; color:#74716a; font-size:13px; line-height:1.7; }
.territory-list { display:flex; flex-wrap:wrap; gap:8px; }

.log-section { padding:120px 0 150px; border-top:1px solid rgba(20,20,20,.12); }
.log-intro { max-width:760px; margin:0 auto 95px; text-align:center; }
.log-intro h2,.log-intro h1 { margin:18px 0 24px; font:400 clamp(60px,7vw,96px)/.88 "Newsreader",serif; letter-spacing:-.055em; }
.log-intro > p:not(.section-number) { max-width:500px; margin:0 auto 28px; color:#74716a; font-size:13px; line-height:1.65; }
.log-list { position:relative; max-width:920px; margin:0 auto; }
.log-entry { position:relative; min-height:150px; padding:28px 8px; display:grid; grid-template-columns:52px minmax(0,1fr) 120px; gap:22px; align-items:center; border-top:1px solid rgba(20,20,20,.16); cursor:default; outline:none; transition:padding .35s cubic-bezier(.2,.8,.2,1),opacity .25s; }
.log-entry:last-of-type { border-bottom:1px solid rgba(20,20,20,.16); }
.log-list:has(.log-entry:hover) .log-entry:not(:hover) { opacity:.34; }
.log-entry:hover,.log-entry:focus-visible { padding-left:22px; padding-right:22px; }
.log-entry-index { align-self:start; padding-top:3px; color:#77746d; font:500 8px/1 "DM Mono",monospace; }
.log-entry-copy > span { color:#77746d; font:500 8px/1 "DM Mono",monospace; }
.log-list h3 { margin:14px 0 7px; font:400 clamp(36px,4vw,54px)/.92 "Newsreader",serif; letter-spacing:-.035em; }
.log-list p { max-width:560px; margin:0; color:#74716a; font-size:11px; line-height:1.55; }
.log-entry-meta { align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; color:#77746d; font:500 8px/1 "DM Mono",monospace; text-align:right; }
.log-entry-meta span:last-child { color:#171717; }
.log-hover-preview { width:280px; height:350px; padding:20px; position:fixed; left:0; top:0; z-index:20; display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.5); border-radius:19px; background:var(--log-color,#e5e1d8); box-shadow:0 22px 60px rgba(25,23,20,.2); pointer-events:none; opacity:0; transform:translate(var(--preview-x,0),var(--preview-y,0)) rotate(3deg) scale(.92); transform-origin:center; transition:opacity .16s,transform .32s cubic-bezier(.2,.8,.2,1); }
.log-hover-preview.is-visible { opacity:1; transform:translate(var(--preview-x,0),var(--preview-y,0)) rotate(-2deg) scale(1); }
.log-hover-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.log-hover-preview > strong { margin:auto; color:#171717; font:600 92px/1 "DM Mono",monospace; letter-spacing:-.12em; }
.log-hover-preview > div { position:relative; display:flex; justify-content:space-between; gap:20px; align-items:end; color:#171717; }
.log-hover-preview > div span { max-width:95px; font:600 7px/1.35 "DM Mono",monospace; }
.log-hover-preview > div b { max-width:130px; font:500 24px/.95 "Newsreader",serif; text-align:right; }

.archive-section,.things-section { padding:120px 0; border-top:1px solid rgba(20,20,20,.12); }
.compact-heading { margin-bottom:45px; }
.things-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.thing-card { min-height:340px; padding:20px; display:flex; flex-direction:column; color:#171717; border:0; border-radius:18px; background:#e5e1d8; text-align:left; cursor:default; }
button.thing-card { cursor:pointer; }
.thing-card:hover { transform:translateY(-3px); transition:transform .2s; }
.thing-index { font:500 9px/1 "DM Mono",monospace; }
.thing-card h3 { margin:auto 0 7px; font:400 31px/1 "Newsreader",serif; }
.thing-card p { margin:0; color:rgba(20,20,20,.58); font-size:10px; line-height:1.45; }
.vinyl-card { background:#f4d34f; }
.bike-card { background:#8fbcff; }
.shoes-card { background:#ff927e; }
.bin-card { color:#f5f1e8; background:#1a1a19; }
.bin-card p { color:rgba(255,255,255,.58); }
.mini-record { width:135px; height:135px; margin:24px auto 0; display:grid; place-items:center; border-radius:50%; color:#f4d34f; background:repeating-radial-gradient(#171717 0 3px,#232323 4px 6px); }
.mini-record i { width:50px; height:50px; display:grid; place-items:center; border-radius:50%; color:#171717; background:#ff8c76; font:500 9px/1 "DM Mono",monospace; }
.bike-line { margin:auto; font:300 35px/1 "DM Mono",monospace; transform:rotate(-12deg); }
.shoe-shape { width:145px; height:60px; margin:auto; border-radius:70% 30% 35% 55%; background:#171717; transform:rotate(-16deg); box-shadow:22px 11px 0 rgba(255,255,255,.38); }
.bin-lines { height:100px; margin:auto 0; opacity:.45; background:repeating-linear-gradient(175deg,transparent 0 14px,#fff 15px 16px); }

.desktop-invitation { padding:150px 30px; text-align:center; border-top:1px solid rgba(20,20,20,.12); }
.desktop-invitation h2 { font-size:clamp(66px,9vw,128px); }
.desktop-invitation > p:not(.section-number) { max-width:590px; margin:35px auto; color:#74716a; font-size:13px; line-height:1.7; }

.site-footer { padding:55px 0 65px; display:grid; grid-template-columns:1fr 1fr auto; gap:60px; border-top:1px solid rgba(20,20,20,.12); }
.site-footer > div:first-child { display:flex; align-items:center; gap:18px; }
.footer-mark { width:48px; height:48px; flex:none; display:grid; place-items:center; border:1px solid rgba(20,20,20,.08); border-radius:50%; background:rgba(255,255,255,.78); text-decoration:none; }
.footer-mark img { width:36px; height:36px; display:block; }
.site-footer p { margin:0; color:#74716a; font-size:10px; line-height:1.5; }
.footer-links { display:flex; align-items:center; gap:22px; }
.footer-links a { color:#171717; font-size:10px; text-decoration:none; }
.footer-map { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; }
.footer-map > div { display:flex; flex-direction:column; gap:9px; }
.footer-map strong { margin-bottom:5px; color:#77736c; font:500 8px/1 "DM Mono",monospace; }
.footer-map a,.footer-map button { width:max-content; padding:0; color:#171717; border:0; background:transparent; font-size:10px; text-decoration:none; cursor:pointer; }

.legal-page { padding:140px 0 150px; }
.legal-hero { max-width:920px; padding-bottom:95px; }
.legal-hero h1 { margin:18px 0 28px; font:400 clamp(76px,10vw,150px)/.8 "Newsreader",serif; letter-spacing:-.065em; }
.legal-hero > p:last-child { max-width:610px; margin:0; color:#74716a; font-size:14px; line-height:1.7; }
.legal-layout { display:grid; grid-template-columns:260px minmax(0,760px); gap:90px; justify-content:space-between; align-items:start; border-top:1px solid rgba(20,20,20,.14); }
.legal-layout > aside { padding-top:32px; position:sticky; top:105px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.legal-layout > aside strong { color:#77736c; font:500 8px/1 "DM Mono",monospace; }
.legal-layout > aside span { max-width:220px; font:400 20px/1.12 "Newsreader",serif; }
.legal-layout > aside a { margin-top:12px; padding-bottom:6px; color:#171717; border-bottom:1px solid currentColor; font-size:9px; font-weight:700; text-decoration:none; }
.legal-content section { padding:36px 0 42px; border-bottom:1px solid rgba(20,20,20,.14); }
.legal-content h2 { margin:0 0 18px; font:400 34px/1 "Newsreader",serif; }
.legal-content p { margin:0; color:#66635d; font-size:12px; line-height:1.85; }
.legal-content a { color:#171717; text-underline-offset:3px; }

/* Expedientes y archivo vivo */
.content-loading,.missing-page { min-height:65svh; display:grid; align-content:center; gap:18px; }
.missing-page h1 { max-width:800px; margin:0; font:400 clamp(58px,8vw,118px)/.84 "Newsreader",serif; letter-spacing:-.055em; }
.missing-page a { width:max-content; color:var(--ink); font-size:11px; font-weight:700; text-underline-offset:5px; }
.case-hero { padding-top:112px; }
.case-breadcrumb,.reading-breadcrumb { display:flex; gap:10px; align-items:center; color:var(--muted); font:500 9px/1 "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.case-breadcrumb a,.reading-breadcrumb a { color:var(--ink); text-decoration:none; }
.case-hero-grid { padding:22px 0 18px; display:grid; grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr); gap:12px; }
.case-title-card,.case-question { min-height:520px; padding:34px; position:relative; overflow:hidden; border-radius:28px; }
.case-title-card { display:flex; flex-direction:column; justify-content:space-between; color:var(--project-ink); background:var(--project-accent); isolation:isolate; }
.case-title-card::before,.case-title-card::after { content:""; position:absolute; z-index:-1; border:1px solid currentColor; border-radius:50%; opacity:.16; }
.case-title-card::before { width:62%; aspect-ratio:1; top:14%; right:-5%; transform:rotate(-14deg); }
.case-title-card::after { width:76%; aspect-ratio:1; top:4%; right:2%; transform:rotate(17deg); }
.case-title-card > div { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.case-title-card > div > span { font:500 8px/1.3 "DM Mono",monospace; letter-spacing:.08em; text-align:right; text-transform:uppercase; }
.case-title-card > i { position:absolute; top:50%; right:32px; font:500 9px/1 "DM Mono",monospace; font-style:normal; letter-spacing:.12em; transform:rotate(90deg) translateX(50%); transform-origin:right center; opacity:.7; }
.case-hero h1 { max-width:100%; margin:0; font:400 clamp(82px,9.5vw,145px)/.72 "Newsreader",serif; letter-spacing:-.075em; white-space:nowrap; }
.case-question { display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); background:rgba(232,228,220,.48); }
.case-question > div > span { font:500 8px/1 "DM Mono",monospace; letter-spacing:.12em; }
.case-question p { max-width:540px; margin:32px 0 0; font:400 clamp(34px,3.5vw,52px)/.92 "Newsreader",serif; letter-spacing:-.04em; }
.case-question footer { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; }
.case-question small { max-width:280px; color:var(--muted); font-size:10px; line-height:1.55; }
.case-question a { flex:none; display:inline-flex; padding:12px 17px; color:var(--project-ink); background:var(--project-accent); border-radius:999px; font-size:10px; font-weight:700; text-decoration:none; }
.case-meta { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.case-meta div { min-height:100px; padding:25px 22px; display:flex; flex-direction:column; gap:13px; border-right:1px solid var(--line); }
.case-meta div:last-child { border:0; }
.case-meta span,.case-pagination span { color:var(--muted); font:500 8px/1 "DM Mono",monospace; letter-spacing:.12em; }
.case-meta strong { font-size:12px; line-height:1.45; }
.case-cover { padding-top:22px; }
.case-cover-stage { min-height:min(72vw,740px); padding:38px; position:relative; display:grid; place-items:center; overflow:hidden; color:var(--case-ink,#171717); background:var(--case-accent,#ddd); border-radius:34px; }
.case-cover-stage::before { content:""; position:absolute; width:66%; aspect-ratio:1; border:1px solid currentColor; border-radius:50%; opacity:.18; animation:case-orbit 22s linear infinite; }
.case-cover-stage img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.case-cover-stage > span { position:relative; z-index:1; font:700 clamp(105px,21vw,310px)/.8 "Manrope",sans-serif; letter-spacing:-.09em; }
.case-cover-stage > small { position:absolute; z-index:2; right:35px; bottom:30px; font:500 8px/1 "DM Mono",monospace; letter-spacing:.1em; }
@keyframes case-orbit { to { transform:rotate(360deg); } }
.case-intro { padding:135px 0 110px; display:grid; grid-template-columns:180px 1fr; gap:40px; }
.case-intro h2 { max-width:880px; margin:0; font:400 clamp(48px,7vw,94px)/.92 "Newsreader",serif; letter-spacing:-.05em; }
.case-tags { grid-column:2; display:flex; flex-wrap:wrap; gap:7px; }
.case-tags span { padding:9px 12px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font:500 8px/1 "DM Mono",monospace; }
.case-chapters { counter-reset:chapter; }
.case-chapter { padding:95px 0; display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:90px; align-items:center; border-top:1px solid var(--line); counter-increment:chapter; }
.case-chapter.is-reverse .case-chapter-copy { order:2; }
.case-chapter-copy .section-number::after { content:" · " counter(chapter,decimal-leading-zero); }
.case-chapter-copy h2 { margin:20px 0 28px; font:400 clamp(47px,5.5vw,78px)/.9 "Newsreader",serif; letter-spacing:-.045em; }
.case-chapter-copy > p:last-child { max-width:510px; color:var(--muted); font-size:13px; line-height:1.85; }
.case-chapter-media { display:grid; gap:12px; }
.case-media { margin:0; }
.case-media img,.case-media video { width:100%; max-height:720px; display:block; object-fit:cover; border-radius:25px; }
.case-media figcaption { padding:9px 2px; color:var(--muted); font-size:9px; }
.case-media-placeholder { min-height:530px; padding:30px; display:flex; flex-direction:column; justify-content:flex-end; color:#171717; background:var(--case-accent,#ddd); border-radius:25px; overflow:hidden; position:relative; }
.case-media-placeholder::before { content:""; position:absolute; inset:22px; border:1px solid rgba(20,20,20,.2); border-radius:50%; transform:rotate(-12deg); }
.case-media-placeholder span,.case-media-placeholder small { position:relative; font:500 8px/1.2 "DM Mono",monospace; letter-spacing:.1em; }
.case-media-placeholder strong { position:relative; margin:12px 0 auto; max-width:500px; font:400 clamp(48px,6vw,82px)/.88 "Newsreader",serif; }
.case-related { padding:100px 0; border-top:1px solid var(--line); }
.case-related header { display:grid; grid-template-columns:180px 1fr; margin-bottom:45px; }
.case-related h2 { margin:0; font:400 clamp(42px,5vw,70px)/.92 "Newsreader",serif; }
.case-related > div { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.case-related a { min-height:280px; padding:28px; display:flex; flex-direction:column; color:#171717; background:var(--related-color); border-radius:22px; text-decoration:none; transition:transform .25s; }
.case-related a:hover { transform:translateY(-6px); }
.case-related a span,.case-related a i { font:500 8px/1 "DM Mono",monospace; font-style:normal; }
.case-related a strong { margin:auto 0; font:400 clamp(52px,7vw,90px)/.82 "Newsreader",serif; }
.case-pagination { padding:40px 0 110px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.case-pagination a { min-height:125px; padding:25px; display:flex; flex-direction:column; gap:25px; color:var(--ink); border:1px solid var(--line); border-radius:18px; text-decoration:none; }
.case-pagination a:last-child { text-align:right; align-items:flex-end; }
.case-pagination strong { font:400 27px/1 "Newsreader",serif; }

.reading-detail,.talk-detail,.archive-detail,.search-page { padding-top:125px; padding-bottom:120px; }
.reading-hero { margin-top:38px; padding:50px; min-height:600px; display:flex; flex-direction:column; justify-content:space-between; color:#171717; background:var(--reading-color,#ddd); border-radius:28px; }
.reading-hero > p { margin:0; font:500 9px/1 "DM Mono",monospace; letter-spacing:.1em; }
.reading-hero h1 { max-width:1040px; margin:50px 0; font:400 clamp(68px,10vw,140px)/.82 "Newsreader",serif; letter-spacing:-.06em; }
.reading-hero > span { max-width:620px; font-size:14px; line-height:1.65; }
.reading-cover { margin:20px 0 0; }
.reading-cover img,.talk-cover img { width:100%; max-height:800px; display:block; object-fit:cover; border-radius:28px; }
.reading-cover-placeholder,.talk-cover-placeholder,.archive-cover-placeholder { min-height:520px; margin-top:20px; padding:35px; display:flex; flex-direction:column; justify-content:space-between; background:var(--reading-color,#dedbd3); border-radius:28px; }
.talk-cover-placeholder { background:#a8c5ff; }
.archive-cover-placeholder { background:var(--archive-color,#dedbd3); }
.reading-cover-placeholder span,.talk-cover-placeholder span,.archive-cover-placeholder span { font:500 8px/1 "DM Mono",monospace; letter-spacing:.1em; }
.talk-cover-placeholder strong,.archive-cover-placeholder strong { max-width:900px; font:400 clamp(60px,9vw,130px)/.82 "Newsreader",serif; letter-spacing:-.055em; }
.reading-body { width:min(720px,100% - 48px); margin:0 auto; padding:110px 0; }
.reading-body p { margin:0 0 30px; color:#44423e; font:400 17px/1.85 "Manrope",sans-serif; }
.reading-body p.lead { color:var(--ink); font:400 31px/1.25 "Newsreader",serif; }
.reading-body h2 { margin:90px 0 28px; font:400 51px/.98 "Newsreader",serif; }
.reading-body blockquote { margin:80px -110px; font:italic 400 58px/.98 "Newsreader",serif; letter-spacing:-.035em; }
.reading-body figure { margin:70px -120px; }
.reading-body figure img { width:100%; border-radius:20px; }
.reading-body figcaption { color:var(--muted); font-size:9px; }
.reading-body footer { margin-top:90px; padding-top:25px; display:flex; justify-content:space-between; border-top:1px solid var(--line); color:var(--muted); font-size:9px; }
.reading-body footer button { padding:0; border:0; background:transparent; font:inherit; cursor:pointer; }
.reading-related { display:grid; gap:8px; }
.reading-related a { padding:24px; display:flex; justify-content:space-between; color:var(--ink); border:1px solid var(--line); border-radius:16px; font-size:12px; text-decoration:none; }
.talk-case-hero { min-height:580px; padding:55px 0 70px; display:grid; grid-template-columns:1fr 300px; gap:70px; align-items:end; }
.talk-case-hero h1,.archive-case-hero h1 { max-width:900px; margin:22px 0 35px; font:400 clamp(68px,9vw,130px)/.82 "Newsreader",serif; letter-spacing:-.055em; }
.talk-case-hero > div:first-child > p:last-child,.archive-case-hero > p { max-width:650px; color:var(--muted); font-size:13px; line-height:1.75; }
.talk-case-meta { display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.talk-case-meta > span { margin-bottom:25px; font:400 70px/.8 "Newsreader",serif; }
.talk-case-meta a { padding:11px 15px; color:var(--ink); border:1px solid var(--line); border-radius:999px; font-size:9px; font-weight:700; text-decoration:none; }
.archive-case-hero { min-height:570px; padding:55px 0 70px; display:flex; flex-direction:column; justify-content:flex-end; }
.archive-case-hero > div { margin-top:38px; display:flex; gap:8px; }
.archive-case-hero > div span { padding:8px 11px; border:1px solid var(--line); border-radius:999px; font:500 8px/1 "DM Mono",monospace; }
.archive-filters { margin:0 0 28px; display:flex; flex-wrap:wrap; gap:7px; }
.archive-filters button { padding:10px 14px; color:var(--ink); border:1px solid var(--line); border-radius:999px; background:transparent; font:600 9px/1 "Manrope",sans-serif; cursor:pointer; }
.archive-filters button.active { color:#fff; background:var(--ink); }
.archive-record { text-decoration:none; }
.talks-years h2 a,.log-list h3 a { color:inherit; text-decoration:none; }

.guided-routes { padding:100px 0; border-top:1px solid var(--line); }
.guided-routes > header { display:grid; grid-template-columns:1fr 380px; gap:80px; margin-bottom:48px; align-items:end; }
.guided-routes h2 { max-width:760px; margin:20px 0 0; font:400 clamp(54px,7vw,92px)/.88 "Newsreader",serif; letter-spacing:-.05em; }
.guided-routes > header > p { margin:0; color:var(--muted); font-size:12px; line-height:1.75; }
.guided-routes > div { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.guided-routes a { min-height:300px; padding:24px; display:flex; flex-direction:column; color:#171717; background:var(--route-color); border-radius:20px; text-decoration:none; transition:transform .25s,box-shadow .25s; }
.guided-routes a:hover { transform:translateY(-7px); box-shadow:0 22px 40px rgba(20,20,20,.12); }
.guided-routes a span { font:400 34px/.95 "Newsreader",serif; }
.guided-routes a p { margin:auto 0 30px; font-size:11px; line-height:1.55; }
.guided-routes a i { font-size:9px; font-style:normal; font-weight:700; }
.route-progress { margin-bottom:80px; padding:24px 28px; display:grid; grid-template-columns:1fr 180px 1fr; gap:35px; align-items:center; color:#171717; background:var(--route-color); border-radius:18px; }
.route-progress > div:first-child { display:flex; flex-direction:column; gap:8px; }
.route-progress span { font:500 8px/1 "DM Mono",monospace; letter-spacing:.1em; }
.route-progress strong { font:400 25px/1 "Newsreader",serif; }
.route-progress-track { display:flex; gap:5px; }
.route-progress-track i { height:3px; flex:1; background:rgba(20,20,20,.2); }
.route-progress-track i.active { background:#171717; }
.route-progress > a { justify-self:end; color:#171717; font-size:9px; font-weight:700; text-decoration:none; }

.search-page > header { padding:55px 0 75px; }
.search-page h1 { margin:22px 0 55px; font:400 clamp(70px,10vw,145px)/.8 "Newsreader",serif; letter-spacing:-.06em; }
.search-page label { display:block; border-bottom:1px solid var(--ink); }
.search-page input { width:100%; padding:20px 0; color:var(--ink); border:0; outline:0; background:transparent; font:400 clamp(28px,4vw,52px)/1 "Newsreader",serif; }
.search-results > p { padding:18px 0; border-bottom:1px solid var(--line); font:500 8px/1 "DM Mono",monospace; }
.search-results a { padding:30px 0; display:grid; grid-template-columns:110px 1fr 1fr 30px; gap:25px; align-items:start; color:var(--ink); border-bottom:1px solid var(--line); text-decoration:none; }
.search-results a > span { font:500 8px/1 "DM Mono",monospace; }
.search-results a > strong { font:400 34px/.95 "Newsreader",serif; }
.search-results a > p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.search-results a > i { font-style:normal; }
.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; }

body.site-panel-open { overflow:hidden; }
.editorial-panel { position:fixed; inset:0; z-index:20000; display:grid; grid-template-columns:minmax(0,1fr) min(760px,92vw); }
.editorial-panel[hidden] { display:none; }
.editorial-panel-backdrop { width:100%; height:100%; padding:0; border:0; background:rgba(20,20,18,.38); backdrop-filter:blur(7px); cursor:pointer; }
.editorial-panel-sheet { height:100svh; overflow:auto; color:#171717; background:#f3f0e9; box-shadow:-28px 0 70px rgba(20,18,14,.18); animation:site-panel-in .35s cubic-bezier(.2,.8,.2,1); }
.editorial-panel-bar { height:72px; padding:0 34px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(20,20,20,.13); }
.editorial-panel-bar span { font:500 8px/1 "DM Mono",monospace; letter-spacing:.09em; }
.editorial-panel-bar button { padding:9px 0; border:0; background:transparent; font-size:10px; font-weight:650; cursor:pointer; }
.editorial-panel-hero { min-height:390px; padding:70px 55px 55px; display:flex; flex-direction:column; justify-content:end; color:var(--panel-ink,#171717); background:var(--panel-color,#f4d34f); }
.editorial-panel-hero > p:first-child { margin:0 0 auto; font:500 8px/1 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.09em; }
.editorial-panel-hero h2 { max-width:620px; margin:0; font:400 clamp(64px,8vw,112px)/.82 "Newsreader",serif; letter-spacing:-.055em; }
.editorial-panel-hero > p:last-child { max-width:570px; margin:28px 0 0; font-size:13px; line-height:1.6; }
.editorial-panel-content { padding:55px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.editorial-panel-content article { min-height:180px; padding:24px; border:1px solid rgba(20,20,20,.13); border-radius:16px; }
.editorial-panel-content article:first-child { grid-column:1/-1; }
.editorial-panel-content span { display:block; margin-bottom:38px; color:#76726b; font:500 8px/1 "DM Mono",monospace; text-transform:uppercase; }
.editorial-panel-content h3 { margin:0 0 10px; font:400 29px/1 "Newsreader",serif; }
.editorial-panel-content p { margin:0; color:#6f6b64; font-size:11px; line-height:1.65; }
@keyframes site-panel-in { from { transform:translateX(50px); opacity:0; } }

.desktop {
  display: none;
  position: fixed !important;
  inset: 0;
}
.desktop.active { display: block; }
.desktop-return {
  position:absolute;
  z-index:10002;
  top:43px;
  left:50%;
  transform:translateX(-50%);
  padding:11px 17px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  color:#171717;
  background:#f4d34f;
  box-shadow:0 9px 25px rgba(25,22,18,.2);
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}

button { color: inherit; font: inherit; }

.desktop {
  position: relative;
  width: 100vw;
  height: 100svh;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(255,255,255,.18), transparent 48%),
    radial-gradient(circle at 76% 24%, rgba(239, 226, 199, .38), transparent 30%),
    radial-gradient(circle at 20% 78%, rgba(120, 158, 150, .3), transparent 32%),
    linear-gradient(135deg, #aeb1ab 0%, #d3cdc2 52%, #b9b1a6 100%);
  transition: background .5s ease;
}

.desktop::after {
  content: "";
  position: absolute;
  inset: 28px 0 0;
  pointer-events: none;
  opacity: .08;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}

.desktop.dark {
  --ink: #f5f2ea;
  --muted: #aaa69e;
  --paper: #1f201e;
  --glass: rgba(29, 30, 28, .79);
  --line: rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 78% 20%, rgba(69, 71, 93, .7), transparent 28%),
    radial-gradient(circle at 20% 75%, rgba(39, 90, 77, .48), transparent 27%),
    linear-gradient(135deg, #171917 0%, #292827 52%, #171716 100%);
  color: var(--ink);
}

.menu-bar {
  position: relative;
  z-index: 10000;
  height: 31px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 13px;
  border-bottom: 1px solid rgba(255,255,255,.3);
  background: rgba(249, 247, 241, .67);
  backdrop-filter: blur(28px) saturate(145%);
  box-shadow: 0 1px 10px rgba(36, 32, 25, .08);
  font-size: 12px;
  font-weight: 600;
}

.dark .menu-bar { background: rgba(18,18,18,.62); border-color: rgba(255,255,255,.08); }

.brand-mark {
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  color: white;
  background: var(--ink);
  font: 500 8px/1 "DM Mono", monospace;
  cursor: pointer;
}

.dark .brand-mark { color: #171717; background: #f3f0e8; }

.desktop-menu { display: flex; align-items: center; gap: 3px; }
.desktop-menu button {
  padding: 4px 7px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
}
.desktop-menu button:hover { background: rgba(255,255,255,.35); }
.desktop-menu .active-menu { font-weight: 700; }

.system-status { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.status-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.22);
  font-size: 10px;
  cursor: pointer;
}
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #1ccc78; box-shadow: 0 0 0 3px rgba(28,204,120,.15); }
.menu-clock { min-width: 103px; text-align: right; font: 400 10px/1 "DM Mono", monospace; text-transform: uppercase; }

.workspace { position: absolute; inset: 31px 0 0; }
.desktop-files { position: absolute; z-index: 2; top: 35px; right: 26px; display: grid; gap: 22px; }
.desktop-files .desktop-file:nth-child(3) { display: none; }
.desktop.explored .desktop-files .desktop-file:nth-child(3) { display: grid; }
.desktop-file {
  width: 88px;
  padding: 0;
  display: grid;
  justify-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  cursor: default;
}
.desktop-file > span:last-child {
  max-width: 102px;
  padding: 2px 5px;
  border-radius: 4px;
  color: #fff;
  background: rgba(26,26,25,.28);
  text-shadow: 0 1px 3px rgba(0,0,0,.4);
  font: 500 9px/1.25 "DM Mono", monospace;
  letter-spacing: .02em;
}
.desktop-file:hover > span:last-child { background: rgba(45,105,206,.85); }

.file-icon { position: relative; display: block; width: 54px; height: 44px; filter: drop-shadow(0 8px 7px rgba(32,28,22,.22)); }
.folder-icon { border-radius: 6px 8px 8px 8px; background: linear-gradient(145deg, #79b0ff, #4985e8); }
.folder-icon::before { content:""; position:absolute; top:-6px; left:3px; width:24px; height:10px; border-radius:5px 5px 0 0; background:#7db3ff; }
.folder-icon span { position:absolute; inset:6px 3px 3px; border-radius:5px; background:rgba(255,255,255,.14); }
.folder-icon.coral { background: linear-gradient(145deg, #ff927c, #e95d4d); }
.folder-icon.coral::before { background:#ff9985; }
.paper-icon { height: 56px; width: 43px; border-radius: 4px; background: #f5f0e6; }
.paper-icon::after { content:""; position:absolute; right:0; top:0; border-style:solid; border-width:0 0 13px 13px; border-color:transparent transparent #d9d2c7 transparent; }
.paper-icon span { position:absolute; inset:22px 5px auto; color:#181818; font:500 8px/1 "DM Mono",monospace; border-top:2px solid #181818; padding-top:4px; }

.desktop-note {
  position: absolute;
  z-index: 3;
  left: 31px;
  bottom: 102px;
  width: 155px;
  height: 143px;
  padding: 29px 20px 16px;
  color: #282215;
  background: #f6d65f;
  box-shadow: 0 18px 32px rgba(51,43,26,.18);
  opacity: 0;
  transform: translateY(12px) rotate(-3deg);
  cursor: pointer;
  pointer-events: none;
  transition: opacity .35s ease, transform .35s ease;
}
.desktop.explored .desktop-note { opacity: 1; transform: translateY(0) rotate(-3deg); pointer-events: auto; }
.desktop-note::after { content:""; position:absolute; inset:0; opacity:.16; background:linear-gradient(100deg,transparent 55%,rgba(100,70,20,.2)); pointer-events:none; }
.desktop-note p { margin:0 0 16px; font: italic 25px/.93 "Newsreader", serif; }
.desktop-note small { font:400 8px/1 "DM Mono",monospace; }
.note-pin { position:absolute; top:9px; left:50%; width:9px; height:9px; border-radius:50%; background:#e66c52; box-shadow:0 2px 4px rgba(0,0,0,.25); }

.window-layer { position:absolute; inset:0; z-index:10; pointer-events:none; }
.app-window {
  position: absolute;
  width: min(760px, calc(100vw - 210px));
  min-width: 360px;
  height: min(560px, calc(100svh - 120px));
  min-height: 280px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 15px;
  background: var(--glass);
  backdrop-filter: blur(32px) saturate(140%);
  box-shadow: var(--shadow);
  pointer-events: auto;
  transition: opacity .18s ease, transform .18s ease, filter .18s ease;
}
.app-window:not(.active) { filter: saturate(.72); box-shadow: 0 16px 38px rgba(37,32,24,.13); }
.app-window:not(.active) .traffic-lights { filter: grayscale(1); opacity:.65; }
.app-window.minimized { opacity:0; transform: translateY(50px) scale(.78); pointer-events:none; }
.app-window.maximized { inset: 12px 12px 72px !important; width:auto !important; height:auto !important; }

.window-bar {
  height: 43px;
  padding: 0 14px;
  display: grid;
  grid-template-columns: 100px 1fr 100px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.12);
  cursor: grab;
  user-select: none;
}
.window-bar:active { cursor: grabbing; }
.traffic-lights { display:flex; gap:7px; }
.window-control { width:11px; height:11px; padding:0; border:0; border-radius:50%; cursor:pointer; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.window-control.close { background:#ff665c; }
.window-control.minimize { background:#ffbd44; }
.window-control.zoom { background:#31c84a; }
.window-title { margin:0; text-align:center; font-size:11px; font-weight:700; }
.window-meta { text-align:right; color:var(--muted); font:400 8px/1 "DM Mono",monospace; }
.window-body { height:calc(100% - 43px); overflow:auto; scrollbar-width:thin; scrollbar-color:rgba(80,80,75,.3) transparent; }
.resize-handle { position:absolute; right:0; bottom:0; width:18px; height:18px; border:0; background:transparent; cursor:nwse-resize; }

.welcome-layout { height:100%; display:grid; grid-template-columns: 1.42fr .58fr; }
.welcome-copy { padding: clamp(28px,5vw,66px); display:flex; flex-direction:column; justify-content:space-between; }
.eyebrow { margin:0 0 20px; color:var(--muted); font:500 9px/1 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.13em; }
.display-title { max-width:580px; margin:0; font:400 clamp(42px,5vw,68px)/.9 "Newsreader",serif; letter-spacing:-.04em; }
.display-title em { font-weight:400; }
.welcome-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.welcome-bottom p { max-width:390px; margin:28px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.primary-button { flex:none; padding:10px 15px; border:0; border-radius:999px; color:#fff; background:#1a1a19; font-size:11px; font-weight:650; cursor:pointer; }
.dark .primary-button { color:#171717; background:#f3f0e8; }
.welcome-side { position:relative; overflow:hidden; background:#ff6f59; border-left:1px solid var(--line); }
.portrait-abstraction { position:absolute; inset:0; }
.portrait-abstraction::before { content:"SD"; position:absolute; left:50%; top:50%; transform:translate(-50%,-48%) rotate(-8deg); color:#191817; font:400 125px/.8 "Newsreader",serif; letter-spacing:-.12em; }
.portrait-abstraction::after { content:"ALgeciras — 1986 → ahora"; position:absolute; bottom:22px; left:22px; right:22px; padding-top:9px; border-top:1px solid rgba(0,0,0,.35); color:#1d1a17; font:500 8px/1 "DM Mono",monospace; text-transform:uppercase; }

.finder-layout { height:100%; display:grid; grid-template-columns:180px 1fr; }
.finder-sidebar { padding:19px 12px; border-right:1px solid var(--line); background:rgba(255,255,255,.08); }
.sidebar-heading { margin:10px 9px 7px; color:var(--muted); font:500 8px/1 "DM Mono",monospace; text-transform:uppercase; }
.sidebar-item { width:100%; padding:7px 9px; display:flex; gap:8px; align-items:center; border:0; border-radius:7px; background:transparent; text-align:left; font-size:11px; cursor:pointer; }
.sidebar-item.active,.sidebar-item:hover { background:rgba(105,105,100,.13); }
.sidebar-symbol { width:18px; color:#4b91ef; text-align:center; }
.finder-content { padding:24px 28px; overflow:auto; }
.finder-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:22px; }
.finder-heading h3 { margin:0; font:400 30px/1 "Newsreader",serif; }
.finder-heading span { color:var(--muted); font:400 8px/1 "DM Mono",monospace; }
.file-grid { display:grid; grid-template-columns:repeat(3,minmax(130px,1fr)); gap:13px; }
.project-file { min-height:145px; padding:16px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.2); cursor:pointer; text-align:left; transition:transform .18s, background .18s; }
.project-file:hover { transform:translateY(-3px); background:rgba(255,255,255,.37); }
.project-file .project-code { color:var(--muted); font:400 8px/1 "DM Mono",monospace; }
.project-file h4 { margin:26px 0 7px; font:500 18px/1.08 "Newsreader",serif; }
.project-file p { margin:0; color:var(--muted); font-size:9px; line-height:1.4; }
.project-file.featured { color:#161616; background:#a5ecce; }
.project-file.orange { color:#161616; background:#ffb39e; }
.project-file.blue { color:#161616; background:#a8c9ff; }

.now-layout { min-height:100%; padding:28px; display:grid; grid-template-columns:1.2fr .8fr; gap:15px; }
.now-hero { grid-row:span 2; padding:30px; border-radius:16px; color:#171717; background:#f5d653; display:flex; flex-direction:column; justify-content:space-between; }
.now-hero h3 { max-width:470px; margin:0; font:400 clamp(38px,4.7vw,65px)/.92 "Newsreader",serif; letter-spacing:-.035em; }
.now-hero footer { display:flex; justify-content:space-between; gap:20px; padding-top:26px; border-top:1px solid rgba(0,0,0,.2); font:500 8px/1.3 "DM Mono",monospace; text-transform:uppercase; }
.now-card { min-height:140px; padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.18); }
.now-card .label { color:var(--muted); font:500 8px/1 "DM Mono",monospace; text-transform:uppercase; }
.now-card h4 { margin:28px 0 6px; font:500 20px/1.05 "Newsreader",serif; }
.now-card p { margin:0; color:var(--muted); font-size:10px; line-height:1.45; }

.editor-layout { height:100%; display:grid; grid-template-columns:210px 1fr; }
.editor-sidebar { padding:18px; border-right:1px solid var(--line); }
.editor-sidebar h3 { margin:4px 0 22px; font:400 28px/1 "Newsreader",serif; }
.note-row { width:100%; padding:10px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.note-row strong { display:block; margin-bottom:4px; font-size:11px; }
.note-row small { color:var(--muted); font:400 8px/1.25 "DM Mono",monospace; }
.editor-paper { padding:44px clamp(30px,5vw,70px); background:rgba(255,255,255,.13); }
.editor-paper .date { color:var(--muted); font:400 8px/1 "DM Mono",monospace; }
.editor-paper h3 { max-width:560px; margin:22px 0; font:400 clamp(36px,4vw,57px)/.95 "Newsreader",serif; }
.editor-paper p { max-width:560px; color:var(--muted); font:400 14px/1.7 "Newsreader",serif; }

.legacy-layout { min-height:100%; color:#f5f1e8; background:#131915; }
.legacy-hero { padding:35px 38px 28px; display:grid; grid-template-columns:1fr auto; gap:24px; border-bottom:1px solid rgba(255,255,255,.12); }
.legacy-badge { width:80px; height:80px; display:grid; place-items:center; border-radius:20px; color:#142019; background:#a4f2c7; font:700 24px/1 "DM Mono",monospace; transform:rotate(5deg); }
.legacy-kicker { color:#90b69f; font:500 8px/1 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.14em; }
.legacy-hero h3 { max-width:520px; margin:14px 0 8px; font:400 45px/.95 "Newsreader",serif; }
.legacy-hero p { max-width:480px; margin:0; color:#9ca79f; font-size:11px; line-height:1.5; }
.legacy-stats { padding:20px 38px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.12); }
.legacy-stat { padding:18px; background:#131915; }
.legacy-stat strong { display:block; font:400 31px/1 "Newsreader",serif; }
.legacy-stat span { color:#8c9b90; font:400 8px/1 "DM Mono",monospace; text-transform:uppercase; }
.legacy-list { padding:24px 38px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.legacy-item { padding:16px; border:1px solid rgba(255,255,255,.11); border-radius:12px; }
.legacy-item b { display:block; margin-bottom:7px; font-size:11px; }
.legacy-item span { color:#8c9b90; font-size:9px; line-height:1.4; }

.music-layout { height:100%; display:grid; grid-template-columns: .9fr 1.1fr; }
.record-stage { position:relative; display:grid; place-items:center; overflow:hidden; background:#e9705d; }
.record { width:min(300px,70%); aspect-ratio:1; border-radius:50%; background:repeating-radial-gradient(circle,#181818 0 3px,#222 4px 6px); box-shadow:0 30px 50px rgba(53,25,22,.34); animation:spin 12s linear infinite; animation-play-state:paused; }
.record.playing { animation-play-state:running; }
.record::after { content:"SD"; position:absolute; inset:36%; display:grid; place-items:center; border-radius:50%; color:#191919; background:#f4d451; font:500 16px/1 "DM Mono",monospace; }
@keyframes spin { to { transform:rotate(360deg); } }
.music-panel { padding:32px; display:flex; flex-direction:column; }
.music-panel h3 { margin:14px 0 4px; font:400 38px/1 "Newsreader",serif; }
.music-panel > p { margin:0 0 28px; color:var(--muted); font-size:10px; }
.track { padding:12px 0; display:grid; grid-template-columns:22px 1fr auto; align-items:center; border-top:1px solid var(--line); gap:8px; font-size:10px; }
.track span:first-child,.track time { color:var(--muted); font:400 8px/1 "DM Mono",monospace; }
.player-controls { margin-top:auto; display:flex; align-items:center; gap:10px; }
.play-button { width:38px; height:38px; border:0; border-radius:50%; color:#fff; background:#191919; cursor:pointer; }
.play-line { height:3px; flex:1; border-radius:10px; background:linear-gradient(90deg,#191919 36%,rgba(100,100,95,.2) 36%); }

.settings-layout { padding:30px; }
.settings-layout h3 { margin:0 0 22px; font:400 36px/1 "Newsreader",serif; }
.setting-row { padding:15px 0; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); }
.setting-copy strong { display:block; font-size:11px; }
.setting-copy small { color:var(--muted); font-size:9px; }
.toggle { width:39px; height:22px; padding:2px; border:0; border-radius:999px; background:#aaa; cursor:pointer; transition:background .2s; }
.toggle::after { content:""; display:block; width:18px; height:18px; border-radius:50%; background:white; transition:transform .2s; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.toggle.on { background:#37bf65; }
.toggle.on::after { transform:translateX(17px); }

.trash-layout { padding:32px; }
.trash-layout h3 { margin:0 0 8px; font:400 40px/1 "Newsreader",serif; }
.trash-layout > p { margin:0 0 28px; color:var(--muted); font-size:11px; }
.discarded-list { display:grid; gap:8px; }
.discarded { padding:13px 15px; display:flex; justify-content:space-between; align-items:center; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.13); }
.discarded strong { font-size:10px; }
.discarded span { color:var(--muted); font:400 8px/1 "DM Mono",monospace; }

.simple-document { max-width:640px; min-height:100%; margin:auto; padding:52px; background:rgba(255,255,255,.14); }
.simple-document .doc-meta { color:var(--muted); font:400 8px/1 "DM Mono",monospace; }
.simple-document h3 { margin:28px 0 18px; font:400 48px/.95 "Newsreader",serif; }
.simple-document p { color:var(--muted); font:400 15px/1.65 "Newsreader",serif; }
.simple-document ul { padding-left:18px; color:var(--muted); font-size:11px; line-height:1.8; }

.mobile-launcher { display:none; }

@media (max-width: 760px) {
  .exhibition-index { display:none; }
  .desktop-menu button:not(.active-menu):not([data-exit-desktop]), .status-pill { display:none; }
  .desktop-menu [data-exit-desktop] { padding-inline:5px; font-size:0; }
  .desktop-menu [data-exit-desktop]::after { content:"Web"; font-size:11px; }
  .menu-clock { min-width:auto; }
  .workspace { inset:31px 0 0; }
  .desktop-files { top:25px; right:12px; grid-template-columns:repeat(3,76px); gap:8px; }
  .desktop-file { width:76px; }
  .desktop-note { left:18px; bottom:102px; width:128px; height:120px; padding:25px 15px; }
  .desktop-note p { font-size:21px; }
  .app-window, .app-window.maximized {
    inset: 68px 8px 77px !important;
    width:auto !important;
    height:auto !important;
    min-width:0;
    min-height:0;
    border-radius:14px;
  }
  .window-bar { grid-template-columns:76px 1fr 76px; }
  .window-meta { display:none; }
  .welcome-layout,.music-layout { grid-template-columns:1fr; }
  .welcome-side { display:none; }
  .welcome-copy { padding:28px; }
  .display-title { font-size:48px; }
  .welcome-bottom { display:block; }
  .primary-button { margin-top:16px; }
  .finder-layout,.editor-layout { grid-template-columns:1fr; }
  .finder-sidebar,.editor-sidebar { display:none; }
  .file-grid { grid-template-columns:1fr 1fr; }
  .now-layout { grid-template-columns:1fr; padding:14px; }
  .now-hero { grid-row:auto; min-height:240px; padding:22px; }
  .now-hero h3 { font-size:43px; }
  .legacy-hero { padding:24px; }
  .legacy-hero h3 { font-size:36px; }
  .legacy-badge { width:58px; height:58px; font-size:18px; }
  .legacy-stats,.legacy-list { padding:14px 24px; }
  .legacy-list { grid-template-columns:1fr; }
  .record-stage { min-height:200px; }
  .record { width:150px; }
  .music-panel { padding:22px; }
  .dock { width:calc(100% - 16px); }
  .dock-inner { gap:4px; padding:6px 8px; justify-content:center; }
  .app-icon { width:42px !important; height:42px !important; border-radius:12px !important; }
  .dock-app { width:46px !important; }
  .dock-app:nth-of-type(5), .dock-divider { display:none; }
  .dock-label { display:none !important; }
}

.dock {
  position:absolute;
  z-index:10001;
  left:50%;
  bottom:9px;
  transform:translateX(-50%);
  pointer-events:none;
}
.dock-inner {
  height:64px;
  padding:7px 10px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:18px;
  background:rgba(244,241,234,.48);
  backdrop-filter:blur(25px) saturate(155%);
  box-shadow:0 12px 35px rgba(38,33,26,.2);
  pointer-events:auto;
}
.dark .dock-inner { background:rgba(35,35,33,.55); }
.dock-app { position:relative; width:47px; padding:0; border:0; background:transparent; cursor:pointer; }
.app-icon { position:relative; width:47px; height:47px; display:grid; place-items:center; overflow:hidden; border-radius:13px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 5px 10px rgba(30,25,20,.2); transition:transform .16s cubic-bezier(.2,.8,.2,1); }
.dock-app:hover .app-icon { transform:translateY(-8px) scale(1.13); }
.dock-label { position:absolute; left:50%; bottom:63px; padding:4px 7px; border-radius:5px; color:#fff; background:rgba(20,20,20,.78); opacity:0; transform:translateX(-50%) translateY(5px); font-size:9px; white-space:nowrap; pointer-events:none; transition:.15s; }
.dock-app:hover .dock-label { opacity:1; transform:translateX(-50%) translateY(0); }
.running-dot { position:absolute; left:50%; bottom:-5px; width:4px; height:4px; border-radius:50%; background:var(--ink); opacity:0; }
.dock-app.running .running-dot { opacity:.65; }
.dock-divider { width:1px; height:37px; margin:0 2px; background:rgba(50,50,45,.18); }
.now-icon { background:#f4d34d; }
.now-icon::before { content:""; width:23px; height:23px; border:2px solid #1c1c1a; border-radius:50%; }
.now-icon i { position:absolute; width:2px; height:8px; background:#1c1c1a; transform:translateY(-4px); transform-origin:bottom; }
.finder-icon { background:linear-gradient(90deg,#76b5ff 0 50%,#96c8ff 50%); }
.finder-icon i { position:absolute; left:9px; top:11px; width:9px; height:20px; border-right:2px solid #19365c; border-bottom:2px solid #19365c; border-radius:0 0 8px 0; }
.finder-icon b { position:absolute; right:9px; top:13px; width:11px; height:3px; border-bottom:2px solid #19365c; }
.log-icon { background:#f2eee5; }
.log-icon::before { content:""; position:absolute; left:9px; top:8px; bottom:8px; width:4px; border-left:2px solid #f1b821; border-right:1px solid #ddd5c7; }
.log-icon i { color:#171717; font:italic 18px/1 "Newsreader",serif; }
.legacy-icon { background:#151b17; }
.legacy-icon::before { content:""; position:absolute; inset:7px; border:1px solid rgba(164,242,199,.5); border-radius:9px; }
.legacy-icon i { color:#a4f2c7; font:700 13px/1 "DM Mono",monospace; }
.music-icon { background:linear-gradient(145deg,#fa7868,#d85169); }
.music-icon i { color:#fff; font:500 27px/1 serif; transform:translateY(-1px); }
.settings-icon { background:linear-gradient(145deg,#8f9396,#596065); }
.settings-icon i { color:#fff; font:400 27px/1 sans-serif; }
.trash-icon { background:rgba(239,241,238,.7); }
.trash-icon i { width:25px; height:29px; border:2px solid #59605e; border-radius:3px 3px 7px 7px; }
.trash-icon i::before { content:""; position:absolute; top:9px; left:12px; width:23px; border-top:2px solid #59605e; }

/* Mantiene la misma guía vertical después de los estilos de cada componente. */
.home-projects-heading,
.manifesto-copy,
.history-statement,
.workbench-heading,
.history-education,
.section-heading,
.project-territories,
.talks-hero {
  grid-template-columns:minmax(0,1fr) var(--editorial-rail);
  column-gap:var(--editorial-gutter);
}

@media (max-width: 760px) {
  .section-shell { width: min(100% - 28px, 1180px); }
  .island-wrap { top: 10px; }
  .dynamic-island { width: calc(100% - 20px); height: 52px; }
  .island-brand { width: 40px; height: 40px; flex:none; }
  .island-brand img { width:30px; height:30px; }
  .island-links { flex:1; justify-content:center; }
  .island-links a { padding:8px 6px; font-size:10px; }
  .island-desktop { width:40px; height:40px; padding:0; justify-content:center; flex:none; }
  .island-desktop-label { display:none; }
  .island-apolo { position:absolute; top:58px; right:10px; width:42px; height:42px; padding:5px; justify-content:center; }
  .island-apolo .apolo-symbol { width:32px; height:32px; }
  .island-apolo .apolo-label,.island-apolo .apolo-arrow { display:none; }

  .site-hero { min-height:auto; padding:125px 0 65px; grid-template-columns:1fr; gap:50px; }
  .hero-intro h1 { font-size:72px; }
  .hero-intro h1.hero-statement { max-width:350px; font-size:58px; line-height:.9; }
  .hero-lead { margin-top:28px; font-size:13px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .hero-playground { height:390px; border-radius:28px; }
  .float-chip { padding:10px 12px; font-size:8px; }

  .manifesto,.projects-section,.log-section,.things-section { padding:80px 0; }
  .manifesto-copy { grid-template-columns:1fr; gap:35px; }
  .manifesto-copy > p:first-child { font-size:42px; }
  .section-heading { margin-bottom:45px; grid-template-columns:1fr; gap:25px; }
  .section-heading h2,.section-heading h1,.log-intro h2,.log-intro h1 { font-size:54px; }
  .section-heading > p { max-width:340px; }
  .project-visual { min-height:285px; padding:25px; }
  .project-visual > span { font-size:92px; }
  .project-copy { align-items:flex-start; flex-direction:column; gap:17px; }
  .project-copy p { font-size:10px; }
  .project-actions { flex-wrap:wrap; }

  .log-section { padding-bottom:95px; }
  .log-intro { margin-bottom:65px; }
  .log-entry { min-height:0; padding:25px 0; grid-template-columns:30px minmax(0,1fr); gap:12px; }
  .log-entry:hover,.log-entry:focus-visible { padding-left:0; padding-right:0; }
  .log-list:has(.log-entry:hover) .log-entry:not(:hover) { opacity:1; }
  .log-list h3 { font-size:34px; }
  .log-entry-meta { grid-column:2; flex-direction:row; align-items:center; margin-top:5px; text-align:left; }
  .log-hover-preview { display:none; }
  .things-grid { grid-template-columns:1fr 1fr; }
  .thing-card { min-height:270px; }
  .thing-card h3 { font-size:27px; }
  .mini-record { width:100px; height:100px; }
  .shoe-shape { width:100px; }

  .desktop-invitation { padding:100px 10px; }
  .museum-entrance { padding:80px 0; }
  .museum-intro h2 { font-size:58px; }
  .museum-ticker { padding:13px 0; font-size:30px; }
  .home-projects { padding:80px 0; }
  .home-projects-heading { margin-bottom:38px; grid-template-columns:1fr; gap:25px; }
  .home-projects-heading h2 { font-size:54px; }
  .home-projects-heading > div:last-child { max-width:340px; }
  .home-projects-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:12px; }
  .home-project-apolo { grid-row:auto; padding:14px; }
  .home-apolo-stage { min-height:220px; }
  .home-apolo-stage strong { left:20px; font-size:78px; }
  .home-apolo-stage i { left:20px; bottom:20px; }
  .home-project-copy { align-items:flex-start; flex-direction:column; gap:16px; }
  .home-project-secondary { display:grid; grid-template-columns:1fr; }
  .home-project-secondary .home-project-stage { min-height:180px; }
  .museum-intro > p:last-child { margin:28px 0 45px; }
  .museum-rooms { grid-template-columns:1fr; }
  .museum-room { min-height:260px; }
  .history-page,.talks-page { padding:90px 0 90px; }
  .history-hero { min-height:0; grid-template-columns:1fr; gap:45px; }
  .history-hero img { aspect-ratio:1.05; border-radius:22px; }
  .history-hero h1,.talks-hero h1 { font-size:58px; }
  .history-actions { align-items:flex-start; flex-direction:column; }
  .history-statement { padding:85px 0; grid-template-columns:1fr; gap:35px; }
  .history-statement p:first-child { font-size:43px; }
  .commander-role { margin-bottom:85px; }
  .commander-role-main { min-height:0; grid-template-columns:1fr; }
  .commander-role-copy { min-height:520px; padding:30px 24px; }
  .commander-role-copy h2 { font-size:47px; }
  .commander-role-visual { min-height:440px; }
  .commander-role-tabs { grid-template-columns:1fr 1fr; }
  .commander-role-tabs button { min-height:145px; }
  .commander-role-tabs button:first-child { border-radius:0; }
  .commander-role-tabs button:nth-child(3) { border-radius:0 0 0 22px; }
  .commander-role-tabs button:last-child { border-radius:0 0 22px 0; }
  .workbench { padding:80px 0 90px; }
  .workbench-heading { margin-bottom:38px; grid-template-columns:1fr; gap:25px; }
  .workbench-heading h2 { font-size:49px; }
  .workbench-heading > p { max-width:340px; }
  .workbench-layout { grid-template-columns:1fr; gap:12px; }
  .tool-grid { grid-template-columns:1fr; }
  .practice-map { margin-top:30px; padding:25px 0; grid-template-columns:1fr; gap:25px; }
  .history-timeline article { grid-template-columns:1fr; gap:17px; }
  .history-timeline .timeline-now { padding:25px; }
  .history-education { padding-top:90px; grid-template-columns:1fr; gap:45px; }
  .history-education h2 { font-size:52px; }
  .things-portal { margin-top:85px; padding:24px; grid-template-columns:1fr; gap:35px; border-radius:22px; }
  .things-portal h2 { font-size:45px; }
  .things-portal-preview { min-height:280px; }
  .project-exhibition-note { grid-template-columns:1fr; gap:14px; }
  .project-exhibition-note p { max-width:330px; font-size:18px; }
  .project-list { grid-template-columns:1fr; gap:12px; }
  .site-project.project-primary { grid-column:auto; padding:14px; grid-template-columns:1fr; }
  .site-project.project-primary .project-top { grid-column:auto; }
  .site-project.project-primary .project-copy { padding:23px 5px 7px; }
  .project-chapter { grid-column:auto; padding:55px 0 12px; grid-template-columns:1fr; gap:14px; }
  .project-time { margin-top:0; }
  .project-territories { margin-top:80px; padding-top:80px; grid-template-columns:1fr; gap:35px; }
  .project-territories h2 { font-size:48px; }
  .talks-hero { min-height:500px; grid-template-columns:1fr; gap:35px; align-content:end; }
  .talks-years { grid-template-columns:1fr; }
  .talks-years .talk-featured { grid-column:auto; min-height:340px; }
  .talks-years article { min-width:0; min-height:280px; grid-template-columns:52px minmax(0,1fr); }
  .talks-years article div { min-width:0; }
  .talks-years h2,.talks-years span { overflow-wrap:anywhere; }
  .teaching-block { margin-top:80px; padding:35px 24px; grid-template-columns:1fr; gap:35px; }
  .teaching-block h2 { font-size:52px; }
  .archive-grid { margin-bottom:90px; grid-template-columns:1fr; }
  .archive-record { min-height:270px; }
  .archive-personal-heading { padding-top:80px; }
  .desktop-return { top:42px; padding:9px 13px; }
  .editorial-panel { grid-template-columns:1fr; }
  .editorial-panel-backdrop { display:none; }
  .editorial-panel-bar { height:62px; padding:0 20px; }
  .editorial-panel-hero { min-height:350px; padding:45px 22px 40px; }
  .editorial-panel-hero h2 { font-size:64px; }
  .editorial-panel-content { padding:25px 14px 50px; grid-template-columns:1fr; }
  .editorial-panel-content article:first-child { grid-column:auto; }
  .desktop-invitation h2 { font-size:65px; }
  .site-footer { grid-template-columns:1fr; gap:38px; }
  .footer-map { grid-template-columns:repeat(3,1fr); gap:22px; }
  .legal-page { padding:115px 0 90px; }
  .legal-hero { padding-bottom:60px; }
  .legal-hero h1 { font-size:68px; }
  .legal-layout { grid-template-columns:1fr; gap:30px; }
  .legal-layout > aside { position:static; padding:28px 0 10px; }
  .legal-content h2 { font-size:30px; }
  .footer-map { width:100%; }
  .footer-links { width:100%; justify-content:space-between; }
}

@view-transition { navigation:auto; }
::view-transition-old(root) { animation:.28s ease both fade-page-out; }
::view-transition-new(root) { animation:.45s cubic-bezier(.2,.8,.2,1) both page-rise; }
@keyframes fade-page-out { to { opacity:0; transform:scale(.992); } }

@media (max-width:760px) {
  .case-hero { padding-top:105px; }
  .case-hero-grid { padding:20px 0 14px; grid-template-columns:1fr; gap:10px; }
  .case-title-card,.case-question { min-height:390px; padding:24px; border-radius:22px; }
  .case-hero h1 { font-size:78px; white-space:normal; }
  .case-question { min-height:440px; }
  .case-question p { font-size:39px; }
  .case-question footer { align-items:flex-start; flex-direction:column; }
  .case-meta { grid-template-columns:1fr; }
  .case-meta div { min-height:78px; border-right:0; border-bottom:1px solid var(--line); }
  .case-cover-stage { min-height:430px; padding:20px; border-radius:22px; }
  .case-cover-stage > span { font-size:100px; }
  .case-cover-stage > small { right:20px; bottom:20px; }
  .case-intro { padding:85px 0 70px; grid-template-columns:1fr; gap:25px; }
  .case-intro h2 { font-size:52px; }
  .case-tags { grid-column:auto; }
  .case-chapter,.case-chapter.is-reverse { padding:70px 0; grid-template-columns:1fr; gap:45px; }
  .case-chapter.is-reverse .case-chapter-copy { order:0; }
  .case-chapter-copy h2 { font-size:49px; }
  .case-media-placeholder { min-height:390px; }
  .case-related { padding:75px 0; }
  .case-related header { grid-template-columns:1fr; gap:22px; }
  .case-related > div { grid-template-columns:1fr; }
  .case-related a { min-height:220px; }
  .case-pagination { grid-template-columns:1fr; padding-bottom:80px; }
  .case-pagination a:last-child { text-align:left; align-items:flex-start; }
  .reading-detail,.talk-detail,.archive-detail,.search-page { padding-top:105px; padding-bottom:90px; }
  .reading-hero { min-height:480px; padding:28px 22px; border-radius:22px; }
  .reading-hero h1 { font-size:65px; }
  .reading-cover-placeholder,.talk-cover-placeholder,.archive-cover-placeholder { min-height:390px; padding:24px; border-radius:22px; }
  .talk-cover-placeholder strong,.archive-cover-placeholder strong { font-size:60px; }
  .reading-body { width:100%; padding:75px 0; }
  .reading-body p.lead { font-size:27px; }
  .reading-body h2 { margin-top:65px; font-size:42px; }
  .reading-body blockquote { margin:60px 0; font-size:43px; }
  .reading-body figure { margin:55px 0; }
  .talk-case-hero { min-height:520px; padding:45px 0 55px; grid-template-columns:1fr; gap:45px; }
  .talk-case-hero h1,.archive-case-hero h1 { font-size:63px; }
  .archive-case-hero { min-height:500px; }
  .guided-routes { padding:75px 0; }
  .guided-routes > header { grid-template-columns:1fr; gap:25px; }
  .guided-routes h2 { font-size:55px; }
  .guided-routes > div { grid-template-columns:1fr; }
  .guided-routes a { min-height:230px; }
  .route-progress { margin-bottom:55px; padding:22px; grid-template-columns:1fr; gap:20px; }
  .route-progress > a { justify-self:start; }
  .search-page h1 { font-size:69px; }
  .search-results a { grid-template-columns:65px 1fr 22px; gap:15px; }
  .search-results a > p { grid-column:2; }
  .search-results a > i { grid-column:3; grid-row:1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
