/* FreakCon — páginas legales (scopeado bajo .fkn-site). Generado por tools/build_yootheme.py */
.fkn-site .legal-page{background: var(--paper);}
.fkn-site .legal-hero{position:relative;
  background: var(--red-deep);
  background-image:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.07), transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(255,255,255,.05), transparent 40%);
  color: var(--paper);
  padding: 140px 0 56px;
  text-align:center;
  overflow:hidden;}
.fkn-site .legal-hero .halftone{opacity:.22;}
.fkn-site .legal-hero .wrap{position:relative;}
.fkn-site .legal-crumbs{margin: 0 0 14px; font-size: .9rem; font-weight: 600; opacity: .85;}
.fkn-site .legal-crumbs a{text-decoration: underline; text-underline-offset: 3px;}
.fkn-site .legal-hero h1{font-family: var(--display);
  text-transform: uppercase;
  font-weight: 400;
  font-size: clamp(2.4rem, 7vw, 4.4rem);
  line-height: .98;
  margin: 0 0 16px;
  text-shadow: 4px 4px 0 var(--ink);}
.fkn-site .legal-lead{max-width: 640px;
  margin: 0 auto 22px;
  font-size: clamp(1rem, 2.2vw, 1.15rem);
  line-height: 1.55;
  opacity: .92;
  text-wrap: balance;}
.fkn-site .legal-meta{display:flex; flex-wrap:wrap; justify-content:center; gap: 10px; margin:0; padding:0; list-style:none;}
.fkn-site .legal-meta li{background: var(--yellow); color: var(--ink);
  border: 3px solid var(--ink); border-radius: 999px;
  box-shadow: 3px 3px 0 0 var(--ink);
  padding: 5px 14px;
  font-weight: 800; font-size: .82rem;}
.fkn-site .legal-layout{max-width: 1180px;
  margin: 0 auto;
  padding: 48px clamp(18px, 5vw, 48px) 96px;}
@media (min-width: 1000px){.fkn-site .legal-layout{display:grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 56px;
    align-items:start;
    padding-top: 64px;}}
.fkn-site .legal-toc{margin: 0 0 36px;
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: var(--panel-radius-sm);
  box-shadow: 5px 5px 0 0 var(--ink);}
@media (min-width: 1000px){.fkn-site .legal-toc{position: sticky; top: 118px; margin:0; max-height: calc(100vh - 140px); overflow:auto;}}
.fkn-site .legal-toc summary{cursor:pointer;
  list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding: 14px 18px;
  font-family: var(--display); text-transform: uppercase; font-size: 1.05rem;
  color: var(--ink);}
.fkn-site .legal-toc summary::-webkit-details-marker{display:none;}
.fkn-site .legal-toc summary::after{content:"+"; font-family: var(--sans); font-weight: 800; font-size: 1.3rem; line-height:1;}
.fkn-site .legal-toc[open] summary::after{content:"–";}
.fkn-site .legal-toc summary:focus-visible{outline: 3px solid var(--red); outline-offset: 2px; border-radius: 12px;}
.fkn-site .legal-toc ol{list-style:none; margin:0; padding: 0 18px 16px;
  counter-reset: toc;}
.fkn-site .legal-toc li{counter-increment: toc; margin: 0;}
.fkn-site .legal-toc a{display:flex; gap: 10px;
  padding: 7px 0;
  border-top: 1px solid rgba(11,10,9,.1);
  font-size: .92rem; line-height: 1.35; font-weight: 600;
  color: var(--ink-soft);}
.fkn-site .legal-toc a::before{content: counter(toc);
  flex:none; min-width: 1.4em;
  font-family: var(--display); color: var(--red);}
.fkn-site .legal-toc a:hover{color: var(--red);}
.fkn-site .legal-toc a:focus-visible{outline: 2px solid var(--red); outline-offset: 2px;}
.fkn-site .legal{max-width: 66ch;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #2a2522;}
.fkn-site .legal p{margin: 0 0 1.1em;}
.fkn-site .legal strong{color: var(--ink);}
.fkn-site .legal a{color: var(--red); font-weight: 700;
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px;
  overflow-wrap: anywhere;}
.fkn-site .legal a:hover{color: var(--red-deep);}
.fkn-site .legal a:focus-visible{outline: 2px solid var(--red); outline-offset: 2px;}
.fkn-site .legal em{font-style: italic;}
.fkn-site .legal code{font-size: .86em;
  background: var(--paper-dim);
  border: 1px solid rgba(11,10,9,.15);
  border-radius: 6px;
  padding: 1px 6px;}
.fkn-site .legal-intro{font-size: 1.12rem; line-height: 1.7; color: var(--ink); margin-bottom: 1.6em;}
.fkn-site .legal ul{list-style:none; margin: 0 0 1.3em; padding:0;}
.fkn-site .legal ul li{position:relative; padding-left: 1.5em; margin-bottom: .6em;}
.fkn-site .legal ul li::before{content:""; position:absolute; left: .2em; top: .62em;
  width: .5em; height: .5em;
  background: var(--red); border: 2px solid var(--ink);
  transform: rotate(45deg);}
.fkn-site .legal-summary{display:grid; gap: 14px;
  grid-template-columns: 1fr;
  margin: 0 0 2.4em;}
@media (min-width: 700px){.fkn-site .legal-summary{grid-template-columns: 1fr 1fr;}}
.fkn-site .legal .legal-summary-title{grid-column: 1 / -1;
  display:block;
  margin: 0;
  font-family: var(--display); text-transform: uppercase; font-weight: 400;
  font-size: 1.15rem; color: var(--red);
  letter-spacing: .04em;}
.fkn-site .legal-sum{margin:0;
  padding: 16px 18px;
  background: #fff;
  border: 3px solid var(--ink);
  border-radius: 16px;
  box-shadow: 4px 4px 0 0 var(--ink);
  font-size: .97rem; line-height: 1.55;}
.fkn-site .legal-sum-ic{display:block; font-size: 1.6rem; line-height:1; margin-bottom: 8px;}
.fkn-site .legal-sum strong{display:block; margin-bottom: 4px;
  font-family: var(--display); text-transform: uppercase; font-weight: 400;
  font-size: 1.05rem; letter-spacing: .01em;}
.fkn-site .legal-sum .legal-btn{margin-top: 10px;}
.fkn-site .legal-sec{scroll-margin-top: 120px;
  padding-top: 2em;
  margin-top: 2em;
  border-top: 2px dashed rgba(11,10,9,.18);}
.fkn-site .legal-sec:first-of-type{border-top:0; margin-top: 0; padding-top: 0;}
.fkn-site .legal h2{display:flex; align-items:center; gap: 14px;
  margin: 0 0 .8em;
  font-family: var(--display); text-transform: uppercase; font-weight: 400;
  font-size: clamp(1.4rem, 3vw, 1.85rem); line-height: 1.1;
  color: var(--ink);}
.fkn-site .legal-num{flex:none;
  display:inline-grid; place-items:center;
  width: 2.1em; height: 2.1em;
  font-size: .72em;
  background: var(--red); color: var(--paper);
  border: 3px solid var(--ink); border-radius: 50%;
  box-shadow: 3px 3px 0 0 var(--ink);}
.fkn-site .legal h3{margin: 1.8em 0 .7em;
  font-family: var(--display); text-transform: uppercase; font-weight: 400;
  font-size: 1.2rem; color: var(--red);}
.fkn-site .legal h3 small{font-family: var(--sans); text-transform:none; font-weight:600; color: var(--ink-soft); font-size: .8rem;}
.fkn-site .legal-card{margin: 0 0 1.4em;
  padding: 6px 20px;
  background: #fff;
  border: 3px solid var(--ink);
  border-radius: 16px;
  box-shadow: 5px 5px 0 0 var(--ink);}
.fkn-site .legal .legal-card ul{margin:0;}
.fkn-site .legal .legal-card li{padding: 10px 0; margin:0;
  border-top: 1px solid rgba(11,10,9,.1);
  display:grid; grid-template-columns: 1fr; gap: 2px;}
.fkn-site .legal .legal-card li:first-child{border-top:0;}
.fkn-site .legal .legal-card li::before{display:none;}
@media (min-width: 560px){.fkn-site .legal .legal-card li{grid-template-columns: 170px 1fr; gap: 12px;}}
.fkn-site .tablewrap{margin: 0 0 1.6em;
  border: 3px solid var(--ink);
  border-radius: 16px;
  box-shadow: 5px 5px 0 0 var(--ink);
  background: #fff;
  overflow:hidden;}
.fkn-site .legal table{width:100%; border-collapse: collapse; font-size: .95rem; line-height: 1.55;}
.fkn-site .legal th{background: var(--ink); color: var(--paper);
  font-family: var(--display); text-transform: uppercase; font-weight:400;
  letter-spacing: .02em; font-size: .9rem;
  text-align:left; padding: 12px 14px; vertical-align: bottom;}
.fkn-site .legal td{padding: 13px 14px; vertical-align: top; border-top: 2px solid rgba(11,10,9,.1);}
.fkn-site .legal tbody tr:nth-child(even) td{background: rgba(244,236,224,.5);}
.fkn-site .legal td code{white-space: nowrap; display:inline-block; margin: 0 0 3px;}
@media (max-width: 760px){.fkn-site .tablewrap{border:0; box-shadow:none; background:transparent; border-radius:0; overflow:visible;}.fkn-site .legal table, .fkn-site .legal tbody, .fkn-site .legal tr, .fkn-site .legal td{display:block; width:100%;}.fkn-site .legal thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}.fkn-site .legal tr{margin: 0 0 14px;
    background:#fff;
    border: 3px solid var(--ink); border-radius: 14px;
    box-shadow: 4px 4px 0 0 var(--ink);
    overflow:hidden;}.fkn-site .legal tbody tr:nth-child(even) td{background: transparent;}.fkn-site .legal td{border-top: 1px solid rgba(11,10,9,.1); padding: 10px 14px;}.fkn-site .legal td:first-child{border-top:0; background: var(--paper-dim) !important;}.fkn-site .legal td::before{content: attr(data-label);
    display:block; margin-bottom: 2px;
    font-family: var(--display); text-transform: uppercase; font-size: .78rem; letter-spacing: .03em;
    color: var(--red);}.fkn-site .legal td code{white-space: normal; overflow-wrap:anywhere;}}
.fkn-site .legal-btn{display:inline-flex; align-items:center;
  font-family: var(--display); text-transform: uppercase; font-size: .9rem; font-weight:400;
  background: var(--yellow); color: var(--ink);
  border: 3px solid var(--ink); border-radius: 999px;
  box-shadow: 4px 4px 0 0 var(--ink);
  padding: .5em 1.15em;
  cursor:pointer;
  vertical-align: middle;
  transition: transform .15s ease, box-shadow .15s ease;}
.fkn-site .legal-btn:hover{transform: translate(-2px,-2px); box-shadow: 6px 6px 0 0 var(--ink);}
.fkn-site .legal-btn:focus-visible{outline: 3px solid var(--red); outline-offset: 3px;}
.fkn-site .legal-end{display:flex; flex-wrap:wrap; gap: 12px 24px; align-items:center;
  margin-top: 3em; padding-top: 1.6em;
  border-top: 4px solid var(--ink);}
.fkn-site .legal .legal-end a{font-family: var(--display); text-transform: uppercase; font-weight:400;
  color: var(--ink); text-decoration: none;
  border-bottom: 4px solid var(--red);}
.fkn-site .legal .legal-end a:hover{color: var(--red);}
@media (prefers-reduced-motion: reduce){.fkn-site .legal-btn{transition:none;}.fkn-site .legal-btn:hover{transform:none;}}
.fkn-site .legal{margin:0; padding:0;}
.fkn-site .legal h2, .fkn-site .legal h2:first-of-type{border-bottom:0; padding-bottom:0; margin: 0 0 .8em;}
.fkn-site .legal .legal-summary-title, .fkn-site .legal .legal-summary-title:first-of-type{margin:0;}
.fkn-site .legal table{min-width:0;}
.fkn-site .legal ul{padding-left:0; list-style:none;}
.fkn-site .legal li::marker{content:"";}
@media (min-width: 761px){.fkn-site .tablewrap{overflow:hidden;}}