/* Shared public presentation. Explicit sizing replaces legacy viewport-fit
   rules. Classic and Control remain outside this scope. */
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]){
  --portal-gutter:clamp(20px,4vw,112px);
  --paper:var(--portal-paper);
  --ink:var(--portal-ink);
  --muted:var(--portal-muted);
  --line:var(--portal-rule);
  --blue:var(--portal-signal);
  --teal:var(--portal-signal);
  --sans:var(--portal-font);
  --serif:var(--portal-title);
  --surface:var(--portal-tint);
  /* 2026-10-05: --white quedaba #fff en oscuro y rompia Compartir / Seguir
     en la ficha. En skins portal es una superficie del tema, no blanco puro. */
  --white:var(--portal-tint);
  --navy:var(--portal-ink);
  --border:var(--portal-rule);
  --rule:var(--portal-rule);
  --accent-social:var(--portal-signal);
  --accent-tech:var(--portal-signal);
  --accent-telco:var(--portal-signal);
  --accent-ai:var(--portal-signal);
  --coral:var(--portal-signal);
  --aqua:var(--portal-signal);
  --gold:var(--portal-signal);
  color-scheme:light dark;
  background:var(--portal-paper);
  color:var(--portal-ink);
  font-family:var(--portal-font)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(h1,h2,h3){
  font-family:var(--portal-title)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"])>header, body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .portal-lab-stage>header{
  min-height:88px;
  padding:16px var(--portal-gutter);
  background:var(--portal-paper);
  border-bottom:1px solid var(--portal-rule)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) nav a{
  font-size:14px;
  font-weight:500
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .portal-sync{
  min-height:36px;
  padding:8px var(--portal-gutter);
  background:var(--portal-paper);
  color:var(--portal-muted);
  border-bottom:1px solid var(--portal-rule);
  font-size:11px
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .portal-sync a{
  color:inherit;
  font-size:11px
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .system-hero{
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  margin:0 auto;
  padding:28px var(--portal-gutter) 48px;
  background:var(--portal-paper);
  color:var(--portal-ink)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .system-hero-v3 .system-hero-top{
  height:auto;
  min-height:0;
  gap:20px;
  justify-content:space-between;
  padding:0 0 24px;
  margin:0
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .system-hero-top-brand{
  font-size:11px;
  letter-spacing:.08em
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .system-hero-top-claim{
  flex:0 1 auto;
  white-space:normal;
  font-size:13px;
  font-weight:400;
  letter-spacing:0;
  color:var(--portal-muted)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.home-stack,.home-lead,.home-v2,.home-v2-stage,.home-v2-main,.home-v2-hero){
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
  flex:none
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.home-stack,.home-v2-stage){
  display:block
}
/* Keep the same desktop block order as the classic public Home. */
@media(min-width:901px){
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-stack{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"lead" "following" "social" "tech" "telco" "ai" "subscribe"}
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2{
  padding:0;
  border:0;
  background:transparent
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-main{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"hero" "keys";
  grid-template-rows:auto auto;
  gap:clamp(28px,2.5vw,56px);
  align-items:start
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero{
  display:flex;
  flex-direction:column;
  grid-area:hero;
  padding:0;
  gap:0;
  background:transparent;
  border:0
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-meta{
  font-size:11px;
  line-height:1.5;
  gap:8px;
  color:var(--portal-muted);
  margin:0 0 14px
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-kicker{
  font-size:11px;
  letter-spacing:.12em;
  margin:0 0 2px;
  color:var(--portal-signal)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-title{
  display:block;
  font-size:clamp(32px,3.8vw,52px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.035em;
  max-width:35ch;
  margin:0;
  overflow:visible;
  -webkit-line-clamp:unset;
  color:var(--portal-ink)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:36px;
  align-items:start;
  margin:28px 0 0;
  padding:0;
  border:0;
  background:transparent
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-compose:has(.home-v2-hero-media[hidden]){
  grid-template-columns:1fr;
  max-width:760px
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-editorial{
  display:grid;
  align-self:start;
  align-content:start;
  gap:24px;
  min-height:0;
  height:auto;
  max-width:none;
  padding:0;
  border:0;
  background:transparent
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-brief:is(.is-signal,.is-reading){
  display:block;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  color:var(--portal-ink)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-brief>span:first-child{
  display:block;
  margin:0 0 9px;
  color:var(--portal-signal);
  font:700 11px/1.4 var(--portal-font);
  letter-spacing:.1em
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-brief p{
  display:block;
  margin:0;
  max-width:none;
  font:400 17px/1.55 var(--portal-font);
  color:var(--portal-ink);
  overflow:visible;
  -webkit-line-clamp:unset
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-brief.is-reading p{
  font:400 23px/1.4 var(--portal-title);
  letter-spacing:-.015em
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-brief .home-v2-hero-source{
  margin:10px 0 0;
  font:400 12px/1.5 var(--portal-font);
  color:var(--portal-muted)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-source .channel-story-original{
  min-height:0;
  padding:0;
  display:inline
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-follow{
  padding:0;
  border:0;
  background:transparent;
  font-size:14px;
  color:var(--portal-muted)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-media{
  display:block;
  aspect-ratio:auto;
  padding:0;
  border:0;
  background:transparent;
  max-height:none;
  margin:0
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
  max-height:clamp(220px,36dvh,420px)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-media figcaption{
  font:400 11px/1.5 var(--portal-font);
  color:var(--portal-muted);
  background:transparent;
  padding:8px 0
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-footer{
  padding:20px 0 0;
  text-align:left
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-footer a{
  font-size:13px;
  color:var(--portal-ink)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-keys{
  grid-area:keys;
  display:block;
  width:auto;
  max-width:none;
  min-width:0;
  padding:22px 0 0;
  border:0;
  border-top:1px solid var(--portal-rule);
  background:transparent
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-keys-title{
  display:block;
  padding:0;
  margin:0 0 22px;
  border:0;
  font:500 24px/1.25 var(--portal-title);
  text-transform:none;
  letter-spacing:-.02em;
  color:var(--portal-ink)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-keys-title:before{
  display:none
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:auto;
  height:auto;
  min-height:0;
  gap:26px;
  padding:0;
  margin:0;
  list-style:none;
  align-items:start
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key:not([hidden]){
  margin:0;
  padding:0;
  min-width:0;
  align-content:start;
  border:0;
  background:transparent
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key-link{
  display:block;
  color:var(--portal-ink);
  padding:0
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key-head{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  color:var(--portal-signal)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.home-v2-key-section,.home-v2-key-date){
  font:700 11px/1.4 var(--portal-font);
  letter-spacing:.08em
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key-title{
  display:block;
  font:500 20px/1.3 var(--portal-title);
  letter-spacing:-.02em;
  -webkit-line-clamp:unset;
  overflow:visible;
  max-height:none;
  margin-top:9px
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key-summary{
  display:block;
  font:400 14px/1.5 var(--portal-font);
  color:var(--portal-muted);
  margin-top:9px;
  overflow:visible;
  -webkit-line-clamp:unset
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .viamind-lens{
  background:transparent;
  color:var(--portal-ink);
  border-left:2px solid var(--portal-signal);
  padding:24px
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .viamind-lens :is(p,h2,span){
  color:inherit
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .viamind-lens-head>span{
  color:var(--portal-signal)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-watch{
  background:transparent;
  border-top:1px solid var(--portal-rule);
  color:var(--portal-ink)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-watch :is(h2,p){
  color:inherit
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.channel-section,.section-landing,.archive-hero,.story-archive){
  width:100%;
  max-width:none;
  margin-inline:auto;
  padding-inline:var(--portal-gutter)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.section-landing-card,.runtime-story-footer,footer){
  background:var(--portal-paper);
  color:var(--portal-ink)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) footer :is(a,p,span,small){
  color:var(--portal-muted)
}
.portal-brand-name{font:500 1.4rem/1.2 var(--sans);color:var(--ink)}
/* Following shares the published composition, with each skin's typography. */
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following:not([hidden]){display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:32px;padding:28px var(--portal-gutter);margin:0;border-block:1px solid var(--portal-rule);background:var(--portal-paper)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;min-width:0}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following-item{padding:0;min-width:0;border:0}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following-heading{color:var(--portal-ink)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following-section{color:var(--portal-signal)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following-title{color:var(--portal-ink);font:600 19px/1.3 var(--portal-title);display:block;-webkit-line-clamp:unset}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following-watch{color:var(--portal-muted);font:400 14px/1.5 var(--portal-font);display:block;-webkit-line-clamp:unset}
@media(max-width:900px){
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following:not([hidden]){grid-template-columns:1fr;gap:20px}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following-list{grid-template-columns:1fr;gap:20px}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-following-item+.home-v2-following-item{border-top:1px solid var(--portal-rule);padding-top:20px}
}
@media(max-width:1000px){body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]){--portal-gutter:20px}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.home-v2-main,.home-v2-compose){display:block}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .system-hero-v3 .system-hero-top{padding-bottom:20px}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .system-hero-top-brand{display:none}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-title{font-size:32px;line-height:1.12}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-media{margin:24px 0}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-media img{max-height:none}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-keys{margin-top:32px}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key-list{grid-template-columns:1fr;gap:0}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-key:not([hidden]){padding:20px 0;border-bottom:1px solid var(--portal-rule)}
}


/* Appearance uses the same light/dark color pairs as the reviewed mockup. */
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"])[data-portal-appearance="light"]{color-scheme:light;--portal-logo-filter:none}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"])[data-portal-appearance="dark"]{color-scheme:dark;--portal-logo-filter:brightness(0) invert(1)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .brand-logo{filter:var(--portal-logo-filter,none)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.home-v2-key-section,.home-v2-hero-meta [data-home-v2-hero-section]){color:var(--portal-signal)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .portal-sync .dot{background:var(--portal-signal)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .home-v2-hero-footer a{color:var(--portal-signal)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.channel-section,.channel-story,.channel-story-copy,.channel-story-nav,.channel-river-more,.runtime-story-hero,.runtime-story-chrome){background:var(--portal-paper);color:var(--portal-ink);border-color:var(--portal-rule)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .channel-section>header{background:transparent;border-color:var(--portal-rule)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .channel-section>header :is(h2,p,span,a){color:var(--portal-ink)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.runtime-media-stage,.runtime-story-hero.is-contextual-media .runtime-media-stage){background:var(--portal-tint);border-color:var(--portal-rule)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .viamind-lens{background:var(--portal-tint);border-color:var(--portal-signal)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) :is(.runtime-watch,.section-landing-mirada){border-color:var(--portal-rule);color:var(--portal-ink)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-watch :is(h2,p){color:inherit}
@media(prefers-color-scheme:dark){body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]){--portal-logo-filter:brightness(0) invert(1)}}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .section-landing-mirada>span{color:var(--portal-signal)}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-story a{color:var(--portal-signal)}
/* 2026-10-05: en oscuro los botones de Compartir y el CTA LinkedIn de la ficha
   usaban fondo blanco + tinta clara. Quedan superficies del tema. */
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-story .story-share-action{
  background:transparent;
  color:var(--portal-ink);
  border-color:var(--portal-rule)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-story .story-share-action:hover{
  border-color:var(--portal-signal);
  color:var(--portal-signal);
  background:var(--portal-tint)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-story .story-follow{
  background:var(--portal-tint);
  border-color:var(--portal-rule);
  color:var(--portal-ink)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-story .story-follow-copy{
  color:var(--portal-muted)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-story .story-follow-action{
  background:var(--portal-signal);
  color:var(--portal-paper)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .runtime-story .story-follow-action:hover{
  background:var(--portal-ink);
  color:var(--portal-paper)
}
/* 2026-10-05: en oscuro el embed blanco de beehiiv rompe el tema y deja
   esquinas claras fuera del radio. Recortamos el iframe y, solo en esquema
   oscuro, lo invertimos. El borde negro del form se vuelve blanco: lo tapamos
   con un inset del color de fondo. */
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .radar-subscribe-embed{
  overflow:hidden;
  border-radius:8px;
  line-height:0;
  max-width:100%;
  background:var(--portal-paper)
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]) .radar-subscribe-embed iframe{
  display:block;
  width:100%;
  max-width:100%;
  border:0
}
@media(prefers-color-scheme:dark){
  body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"]):not([data-portal-appearance="light"]) .radar-subscribe-embed iframe{
    filter:invert(1) hue-rotate(180deg);
    transform:scale(1.035);
    transform-origin:center
  }
}
body[data-portal-ui][data-portal-skin]:not([data-portal-skin="classic"])[data-portal-appearance="dark"] .radar-subscribe-embed iframe{
  filter:invert(1) hue-rotate(180deg);
  transform:scale(1.035);
  transform-origin:center
}
