/* BriefRPG — hoja de estilos unica */

@font-face{
  font-family:'Instrument Serif';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(/assets/fonts/instrument-serif-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Inter Tight';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url(/assets/fonts/inter-tight-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Inter Tight';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url(/assets/fonts/inter-tight-ext.woff2) format('woff2');
  unicode-range:U+015E-015F;
}

:root{
  --brief-paper:#ffffff;
  --brief-ink:#101010;
  --brief-ink-soft:#4a4a4a;
  --brief-surface:#f4f4ef;
  --brief-surface-soft:#faf9f5;
  --brief-accent:#5c6b2e;
  --brief-on-accent:#ffffff;
  --brief-serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --brief-sans:'Inter Tight',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --brief-pad:clamp(18px,4vw,40px);
  --brief-max:1200px;
  --brief-cut:14px;
  --brief-shape:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--brief-paper);
  color:var(--brief-ink);
  font-family:var(--brief-sans);
  font-size:17px;
  font-weight:400;
  line-height:1.62;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}

a{color:var(--brief-accent);}

h1,h2,h3{
  font-family:var(--brief-serif);
  font-weight:400;
  letter-spacing:-0.005em;
  margin:0;
}

h1{font-size:clamp(2.6rem,6.4vw,4.5rem);line-height:1.03;}
h2{font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.06;}
h3{font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.14;}

p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}

:focus-visible{outline:2px solid var(--brief-ink);outline-offset:3px;}

.brief-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

.brief-skip{
  position:absolute;left:-9999px;top:0;z-index:60;
  background:var(--brief-accent);color:var(--brief-on-accent);
  padding:14px 22px;font-weight:600;text-decoration:none;
}
.brief-skip:focus{left:8px;top:8px;}

.brief-wrap{
  width:100%;
  max-width:var(--brief-max);
  margin-inline:auto;
  padding-inline:var(--brief-pad);
}

.brief-tag{
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--brief-ink-soft);
  margin:0 0 18px;
}
.brief-tag--accent{color:var(--brief-accent);}

/* ---------- accion (geometria unica: esquina inferior derecha cortada) ---------- */

.brief-act{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  min-height:52px;
  padding:14px 26px;
  font-family:var(--brief-sans);
  font-size:16px;
  font-weight:600;
  line-height:1.1;
  letter-spacing:.015em;
  text-decoration:none;
  border:0;
  border-radius:0;
  cursor:pointer;
  clip-path:var(--brief-shape);
  transition:transform .18s ease,filter .18s ease,background-color .18s ease,color .18s ease;
}
.brief-act--solid{background:var(--brief-accent);color:var(--brief-on-accent);}
.brief-act--fill{background:var(--brief-surface);color:var(--brief-ink);}
.brief-act--bare{background:transparent;color:var(--brief-accent);font-weight:600;}

.brief-act:hover{transform:translate(-2px,-2px);filter:drop-shadow(5px 5px 0 rgba(16,16,16,.88));}
.brief-act--solid:hover{background:#4b5726;}
.brief-act--fill:hover{background:#e8e7dd;}
.brief-act--bare:hover{background:var(--brief-surface);filter:drop-shadow(5px 5px 0 var(--brief-accent));}
.brief-act:active{transform:translate(0,0);filter:none;}
.brief-act:focus-visible{
  outline:none;
  transform:translate(-2px,-2px);
  filter:drop-shadow(5px 5px 0 var(--brief-accent));
  box-shadow:inset 0 0 0 2px currentColor;
}
.brief-act svg{width:17px;height:17px;flex:none;}

/* ---------- cabecera ---------- */

.brief-topbar{
  position:sticky;
  top:0;
  z-index:40;
  background:var(--brief-paper);
  transition:box-shadow .2s ease;
}
.brief-topbar.is-lifted{box-shadow:0 10px 28px rgba(16,16,16,.08);}
.brief-topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:72px;
}
.brief-mark{
  font-family:var(--brief-serif);
  font-size:26px;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--brief-ink);
  text-decoration:none;
  padding:12px 0;
}
.brief-mark__part{color:var(--brief-accent);}

.brief-menu{display:flex;align-items:center;gap:6px;}
.brief-menu__list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
.brief-menu__link{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:12px 14px;
  font-size:15px;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--brief-ink);
  text-decoration:none;
}
.brief-menu__link:hover{color:var(--brief-accent);}

.brief-burger{
  display:none;
  width:52px;
  height:52px;
  padding:0;
  border:0;
  background:var(--brief-surface);
  color:var(--brief-ink);
  cursor:pointer;
  clip-path:var(--brief-shape);
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.brief-burger:focus-visible{outline:none;box-shadow:inset 0 0 0 2px currentColor;}
.brief-burger__bar{display:block;width:22px;height:2px;background:currentColor;margin:3px auto;}

/* ---------- portada ---------- */

.brief-opening{padding-block:clamp(40px,6.5vw,86px) clamp(44px,7vw,92px);}
.brief-opening__grid{
  display:grid;
  gap:clamp(30px,4vw,56px);
  width:100%;
  max-width:var(--brief-max);
  margin-inline:auto;
  padding-inline:var(--brief-pad);
}
.brief-opening__title{margin-bottom:22px;}
.brief-opening__title span{color:var(--brief-accent);}
.brief-opening__lead{max-width:34em;color:var(--brief-ink-soft);font-size:19px;line-height:1.55;}
.brief-opening__acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.brief-opening__facts{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  align-content:center;
  border-top:1px solid rgba(16,16,16,.16);
}
.brief-opening__facts li{
  display:flex;
  align-items:baseline;
  gap:clamp(14px,2vw,20px);
  padding-block:clamp(16px,2.2vw,24px);
  border-bottom:1px solid rgba(16,16,16,.16);
}
.brief-opening__num{
  flex:none;
  min-width:1.05em;
  font-family:var(--brief-serif);
  font-size:clamp(32px,4.4vw,46px);
  line-height:.92;
  color:var(--brief-accent);
}
.brief-opening__what{
  font-size:12.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--brief-ink);
}

@media (min-width:960px){
  .brief-opening__grid{
    grid-template-columns:minmax(0,1fr) minmax(0,.5fr);
    align-items:stretch;
  }
  .brief-opening__col{align-self:center;padding-block:10px;}
  .brief-opening__facts{
    border-top:0;
    border-left:1px solid rgba(16,16,16,.16);
    padding-left:clamp(26px,3vw,44px);
  }
  .brief-opening__facts li:last-child{border-bottom:0;}
}

/* ---------- catalogo ---------- */

.brief-catalogo{padding-block:clamp(40px,6vw,78px) clamp(34px,5vw,62px);}
.brief-catalogo__head{max-width:46em;margin-bottom:clamp(28px,4vw,44px);}
.brief-catalogo__head p{color:var(--brief-ink-soft);margin-top:16px;max-width:40em;}

.brief-shelf{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(14px,2vw,24px);
  list-style:none;
  margin:0;
  padding:0;
}
.brief-entry{
  grid-column:span 6;
  display:flex;
  flex-direction:column;
  background:var(--brief-surface);
  padding:clamp(18px,2vw,26px);
}
.brief-entry__shot{
  margin:calc(-1 * clamp(18px,2vw,26px)) calc(-1 * clamp(18px,2vw,26px)) 20px;
}
.brief-entry__shot img{width:100%;height:100%;object-fit:cover;object-position:center;}
.brief-entry--tall .brief-entry__shot img{aspect-ratio:3/4;}
.brief-entry--third .brief-entry__shot img{aspect-ratio:16/9;}
.brief-entry--pair .brief-entry__shot img{aspect-ratio:4/5;}
.brief-entry--half .brief-entry__shot img{aspect-ratio:21/9;}
.brief-entry--split .brief-entry__shot img{aspect-ratio:16/9;}

.brief-entry__top{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.brief-entry__icon{width:56px;height:56px;flex:none;object-fit:cover;}
.brief-entry--lead .brief-entry__icon,
.brief-entry--wide .brief-entry__icon{width:64px;height:64px;}
.brief-entry__name{font-size:clamp(1.3rem,2vw,1.7rem);}
.brief-entry--lead .brief-entry__name{font-size:clamp(1.6rem,2.8vw,2.2rem);}
.brief-entry__dev{
  display:block;font-size:12.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--brief-ink-soft);margin-top:6px;
}
.brief-entry__score{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-size:15px;font-weight:600;}
.brief-entry__score svg{width:16px;height:16px;color:var(--brief-accent);flex:none;}
.brief-entry__text{font-size:16px;color:var(--brief-ink-soft);margin-bottom:20px;}
.brief-entry__foot{margin-top:auto;}

.brief-entry--split .brief-entry__body{display:flex;flex-direction:column;}

@media (min-width:700px){
  .brief-entry{grid-column:span 3;}
  .brief-entry--lead{grid-column:span 6;}
}

@media (min-width:1000px){
  .brief-entry--split{flex-direction:row;gap:clamp(18px,2.4vw,30px);align-items:stretch;}
  .brief-entry--split .brief-entry__shot{
    margin:calc(-1 * clamp(18px,2vw,26px)) 0 calc(-1 * clamp(18px,2vw,26px)) calc(-1 * clamp(18px,2vw,26px));
    flex:0 0 40%;
  }
  .brief-entry--split .brief-entry__shot img{height:100%;min-height:280px;aspect-ratio:auto;}
  .brief-entry--split .brief-entry__body{flex:1 1 auto;}
}

@media (min-width:1000px){
  .brief-entry--lead{grid-column:span 4;}
  .brief-entry--tall{grid-column:span 2;}
  .brief-entry--third{grid-column:span 2;}
  .brief-entry--pair{grid-column:span 2;}
  .brief-entry--half{grid-column:span 3;}
  .brief-entry--slim{grid-column:span 2;}
  .brief-entry--wide{grid-column:span 4;}
}

/* ---------- banda a sangre ---------- */

.brief-band{
  margin-block:clamp(34px,5vw,62px);
  padding-block:clamp(34px,5vw,58px);
  background:var(--brief-surface);
}
.brief-band__note{
  margin:0;
  max-width:26em;
  font-family:var(--brief-serif);
  font-size:clamp(23px,3vw,33px);
  line-height:1.24;
  color:var(--brief-ink);
}

/* ---------- voces ---------- */

/* ---------- comparativa ---------- */

.brief-comparativa{padding-block:clamp(34px,5vw,64px);}
.brief-comparativa__head{margin-bottom:26px;max-width:44em;}
.brief-comparativa__head p{color:var(--brief-ink-soft);margin-top:14px;}
.brief-sheet{overflow-x:auto;}
.brief-sheet:focus-visible{outline:2px solid var(--brief-accent);outline-offset:4px;}
.brief-sheet__table{width:100%;min-width:820px;border-collapse:collapse;font-size:15px;}
.brief-sheet__table caption{
  caption-side:top;text-align:left;color:var(--brief-ink-soft);
  font-size:14px;line-height:1.5;padding-bottom:18px;
}
.brief-sheet__table th,.brief-sheet__table td{padding:14px 18px;text-align:left;vertical-align:top;}
.brief-sheet__table thead th{
  font-size:12.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:var(--brief-ink);border-bottom:2px solid var(--brief-accent);white-space:nowrap;
}
.brief-sheet__table tbody tr:nth-child(odd){background:var(--brief-surface-soft);}
.brief-sheet__table tbody th{font-family:var(--brief-sans);font-size:16px;font-weight:600;min-width:200px;}
.brief-sheet__yes{display:inline-flex;align-items:center;gap:7px;}
.brief-sheet__yes svg{width:15px;height:15px;color:var(--brief-accent);flex:none;}

.brief-nota{
  margin:clamp(24px,3vw,40px) 0 0;
  padding-left:clamp(14px,2vw,20px);
  border-left:3px solid var(--brief-accent);
  color:var(--brief-ink-soft);
  font-size:16px;
  max-width:56em;
}

/* ---------- preguntas y contacto ---------- */

.brief-preguntas{padding-block:clamp(38px,6vw,80px) clamp(44px,6vw,86px);}
.brief-preguntas__head{margin-bottom:clamp(24px,3vw,38px);}
.brief-preguntas__head p{color:var(--brief-ink-soft);margin-top:14px;max-width:40em;}

.brief-ask{list-style:none;margin:0 0 clamp(34px,5vw,58px);padding:0;}
.brief-ask__item{background:var(--brief-surface-soft);margin-bottom:10px;}
.brief-ask__item.is-open{background:var(--brief-surface);}
.brief-ask__h{margin:0;}
.brief-ask__btn{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  width:100%;min-height:60px;padding:18px clamp(16px,2vw,24px);
  background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--brief-serif);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.2;color:var(--brief-ink);
}
.brief-ask__btn:hover{color:var(--brief-accent);}
.brief-ask__sign{
  position:relative;flex:none;width:20px;height:20px;
}
.brief-ask__sign::before,.brief-ask__sign::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--brief-accent);
  transform:translate(-50%,-50%);
}
.brief-ask__sign::before{width:16px;height:2px;}
.brief-ask__sign::after{width:2px;height:16px;transition:transform .2s ease;}
.brief-ask__item.is-open .brief-ask__sign::after{transform:translate(-50%,-50%) scaleY(0);}
.brief-ask__panel{padding:0 clamp(16px,2vw,24px) 22px;color:var(--brief-ink-soft);font-size:16px;max-width:52em;}

.brief-contacto{display:grid;gap:clamp(18px,3vw,36px);}
@media (min-width:820px){
  .brief-contacto{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;}
}
.brief-contacto__text{color:var(--brief-ink-soft);max-width:38em;}
.brief-contacto__box{background:var(--brief-accent);color:var(--brief-on-accent);padding:clamp(22px,3vw,34px);}
.brief-contacto__box h3{color:var(--brief-on-accent);}
.brief-contacto__box p{color:rgba(255,255,255,.92);font-size:16px;margin-top:12px;}
.brief-contacto__mail{
  display:inline-flex;align-items:center;min-height:48px;margin-top:18px;
  font-size:clamp(1.05rem,2vw,1.3rem);font-weight:600;color:var(--brief-on-accent);
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;
}
.brief-contacto__mail:hover{text-decoration-thickness:3px;}
.brief-contacto__box .brief-act{margin-top:20px;}
.brief-contacto__box .brief-act--fill{background:var(--brief-paper);color:var(--brief-accent);}

/* ---------- cierre ---------- */

.brief-cierre{background:var(--brief-surface);padding-block:clamp(38px,5vw,64px) 26px;margin-top:auto;}
.brief-cierre__grid{display:grid;gap:clamp(24px,4vw,44px);}
@media (min-width:760px){
  .brief-cierre__grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);}
}
.brief-cierre__about{color:var(--brief-ink-soft);font-size:15px;max-width:32em;margin-top:14px;}
.brief-cierre__h{
  font-family:var(--brief-sans);font-size:12.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;margin:0 0 12px;
}
.brief-cierre__list{list-style:none;margin:0;padding:0;}
.brief-cierre__list a{
  display:inline-flex;align-items:center;min-height:44px;color:var(--brief-ink);
  text-decoration:none;font-size:15px;
}
.brief-cierre__list a:hover{color:var(--brief-accent);text-decoration:underline;}
.brief-cierre__mail{
  display:inline-flex;align-items:center;min-height:44px;color:var(--brief-accent);font-weight:600;font-size:15px;
}
.brief-cierre__base{
  margin-top:clamp(26px,4vw,44px);display:flex;flex-wrap:wrap;gap:8px 26px;
  font-size:13px;color:var(--brief-ink-soft);
}

/* ---------- avisos flotantes ---------- */

.brief-arriba{
  position:fixed;right:18px;bottom:18px;z-index:35;
  width:52px;height:52px;padding:0;border:0;cursor:pointer;
  background:var(--brief-accent);color:var(--brief-on-accent);
  clip-path:var(--brief-shape);
  display:none;align-items:center;justify-content:center;
  transition:transform .18s ease,filter .18s ease;
}
.brief-arriba.is-shown{display:inline-flex;}
.brief-arriba:hover{transform:translate(-2px,-2px);filter:drop-shadow(5px 5px 0 rgba(16,16,16,.85));}
.brief-arriba:focus-visible{outline:none;box-shadow:inset 0 0 0 2px currentColor;}
.brief-arriba svg{width:20px;height:20px;}

.brief-cookies{
  position:fixed;left:0;right:0;bottom:0;z-index:45;
  background:var(--brief-paper);
  box-shadow:0 -12px 34px rgba(16,16,16,.13);
  padding:18px 0;
  display:none;
}
.brief-cookies.is-shown{display:block;}
.brief-cookies__inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;}
.brief-cookies__text{flex:1 1 320px;font-size:15px;color:var(--brief-ink-soft);margin:0;}
.brief-cookies__acts{display:flex;flex-wrap:wrap;gap:12px;}

/* ---------- paginas legales ---------- */

.brief-legal{padding-block:clamp(34px,5vw,64px) clamp(40px,6vw,76px);}
.brief-legal__meta{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--brief-ink-soft);margin:16px 0 0;}
.brief-legal__body{margin-top:clamp(26px,4vw,44px);max-width:44em;}
.brief-legal__body h2{font-size:clamp(1.5rem,2.7vw,2rem);margin:38px 0 14px;}
.brief-legal__body h2:first-child{margin-top:0;}
.brief-legal__body p,.brief-legal__body li{color:var(--brief-ink-soft);font-size:16px;}
.brief-legal__body ul{margin:0 0 1em;padding-left:20px;}
.brief-legal__body li{margin-bottom:8px;}
.brief-legal__back{margin-top:34px;}

.brief-perdido{padding-block:clamp(60px,10vw,130px);text-align:center;}
.brief-perdido p{color:var(--brief-ink-soft);margin:20px auto 30px;max-width:34em;}

/* ---------- movil ---------- */

@media (max-width:859px){
  .brief-burger{display:inline-flex;}
  .brief-menu{
    position:absolute;left:0;right:0;top:100%;
    background:var(--brief-paper);
    box-shadow:0 16px 30px rgba(16,16,16,.12);
    padding:10px var(--brief-pad) 22px;
    display:none;
  }
  .brief-menu.is-open{display:block;}
  .brief-menu__list{flex-direction:column;align-items:stretch;gap:2px;}
  .brief-menu__link{min-height:52px;padding-inline:0;font-size:17px;}
  .brief-topbar__inner{position:relative;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition-duration:.001ms !important;animation-duration:.001ms !important;}
  .brief-act:hover,.brief-arriba:hover,.brief-act:focus-visible{transform:none;}
}

/* Ficha Larga — bloque de suscripción */
.brief-larga{margin:clamp(34px,5vw,58px) 0 clamp(30px,4vw,48px);}
.brief-larga__intro{max-width:44em;}
.brief-larga__intro h3{font-family:var(--brief-display);font-size:clamp(26px,3.4vw,38px);line-height:1.12;margin:10px 0 14px;}
.brief-larga__intro p{color:var(--brief-ink-soft);}
.brief-larga__grid{display:grid;gap:clamp(18px,3vw,34px);margin-top:clamp(20px,3vw,32px);}
@media (min-width:860px){.brief-larga__grid{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;}}
.brief-larga__cuota{background:var(--brief-surface);padding:clamp(22px,3vw,30px);}
.brief-larga__label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brief-ink-soft);}
.brief-larga__num{font-family:var(--brief-display);font-size:clamp(40px,6vw,58px);line-height:1;color:var(--brief-accent);margin:6px 0 2px;}
.brief-larga__per{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--brief-ink-soft);}
.brief-larga__fine{font-size:15px;color:var(--brief-ink-soft);margin:16px 0 20px;}
.brief-larga__detalle h4{font-family:var(--brief-display);font-size:clamp(19px,2.2vw,23px);margin:0 0 10px;}
.brief-larga__detalle h4 + p{color:var(--brief-ink-soft);}
.brief-larga__detalle > h4 + p + h4,.brief-larga__list + h4{margin-top:26px;}
.brief-larga__list{list-style:none;padding:0;margin:0 0 4px;}
.brief-larga__list li{position:relative;padding-left:22px;margin-bottom:10px;color:var(--brief-ink-soft);}
.brief-larga__list li::before{content:"";position:absolute;left:0;top:.62em;width:11px;height:1px;background:var(--brief-accent);}
